javascript - Captcha popup if user comments too fast? -


i'm working on chat app meteor , i'm assuming spam issue want incorporate captcha pops if comment (like more 3 times in 5 seconds). have javascript code below have no idea how this. possible have captcha pop somewhere on screen? if so, know how this? here code chat app part:

javascript:

// render of our messages in ui template.chatbox.helpers({   "messages": function() {     return chatcollection.find();   } });  // value handlerbar helper user template.chatmessage.helpers({   "user": function() {     if(this.userid == 'me') {       return this.userid;     } else if(this.userid) {       getusername(this.userid);       return session.get('user-' + this.userid);     } else {       return 'anonymous-' + this.subscriptionid;     }   } });  // when send chat clicked @ message collection template.chatbox.events({     "click #send": function() {         if (meteor.user() == null) {             alert("you must login post");             return;         }         $('#messages').animate({"scrolltop": $('#messages')[0].scrollheight}, "fast");         var message = $('#chat-message').val();         chatcollection.insert({             userid: 'me',             message: message         });         $('#chat-message').val('');          //add message stream         chatstream.emit('chat', message);     },      "keypress #chat-message": function(e) {         if (meteor.user() == null) {             alert("you must login post");             return;         }         if (e.which == 13) {             $('#messages').animate({"scrolltop": $('#messages')[0].scrollheight}, "fast");             console.log("you pressed enter");             e.preventdefault();             //repeat function #send click event here             var message = $('#chat-message').val();             chatcollection.insert({                 userid: 'me',                 message: message             });             $('#chat-message').val('');      //add message stream     chatstream.emit('chat', message);     }   } });  chatstream.on('chat', function(message) {   chatcollection.insert({     userid: this.userid,     subscriptionid: this.subscriptionid,     message: message   }); }); 

i have added code code. never use meteor don't know whether code work or not in meteor. test creating similes project here

template.chatbox.events({     "click #send": function() {         if (meteor.user() == null) {             alert("you must login post");             return;         }          //validation        var bot =check_bots();          if(bot==false)         {             $('#messages').animate({"scrolltop": $('#messages')[0].scrollheight}, "fast");             var message = $('#chat-message').val();             chatcollection.insert({                 userid: 'me',                 message: message             });             $('#chat-message').val('');              //add message stream             chatstream.emit('chat', message);         }         else         {             // whatever want when bot detected         }     },      "keypress #chat-message": function(e) {         if (meteor.user() == null) {             alert("you must login post");             return;         }         if (e.which == 13) {             $('#messages').animate({"scrolltop": $('#messages')[0].scrollheight}, "fast");             console.log("you pressed enter");             e.preventdefault();             //repeat function #send click event here             var message = $('#chat-message').val();             chatcollection.insert({                 userid: 'me',                 message: message             });             $('#chat-message').val('');      //add message stream     chatstream.emit('chat', message);     }   } }); 

here validation codes

<script type="text/javascript"> var lastintime=0; var defference=0; var msg_count=0;  function check_bots() {     var seconds = new date().gettime() / 1000;     seconds=parseint(seconds);      if(lastintime < seconds)     {         defference = seconds -lastintime;         lastintime=seconds;          if(defference<=5 && msg_count>=3)         {             return true;         }         else         {              return false;         }     } }  </script> 

Comments

Popular posts from this blog

user interface - How to replace the Python logo in a Tkinter-based Python GUI app? -

objective c - Greedy NSProgressIndicator Allocation -

how to set an OCR language in Google Drive -