2013-07-29 9 views
10

Sto combattendo contro futuri spam bot per il mio abbonamento alla newsletter. Voglio mantenere il modulo semplice, rendere la procedura veloce, quindi non uso un captcha ma una forma nascosta per intercettare i bot.L'impostazione di un campo nascosto è efficace contro bot?

E 'efficiente o il robot sa come riconoscere un modulo nascosto e lo ignorerà?

risposta

1

Un modo efficace è che l'invio del modulo dipenda da JavaScript. I bot in genere non supportano JavaScript. Non è una soluzione perfetta però ..

10

I bot hanno difficoltà a leggere CSS o JavaScript, almeno per ora.

alcuni modi per prevenire lo spamming bot w/o captcha sono:

  <form method="post" action="send.php"> 
       <ol> 
       <li> 
        <label for="name">Name</label> 
        <input type="text" name="name" value=""> 
       </li> 
       <li> 
        <label for="email">Email</label> 
        <input type="text" name="email"> 
       </li> 
       <!-- We hide this with CSS,that's why it has an ID. --> 
       <li id="user"> 
        <label for="username">Username</label> 
        <input type="text" name="username"> 
       </li> 
       <!-- //end --> 
       <li> 
        <input type="submit" name="submit" value="Send It!"> 
       </li> 
       </ol> 
      </form> 

Come si può vedere il campo nome utente verrà nascosto. I robot non possono riconoscerlo. Quello che devi fare dopo è solo convalidare che questo campo è vuoto sul tuo codice di back-end.

  <?php 

      if(!isset($_POST['name'])) { die("No Direct Access"); } // Make sure the form has actually been submitted 

      $name = $_POST['name']; 
      $email = $_POST['email']; 
      $spam = $_POST['username']; // Bot trap 

      if($spam) { // If the hidden field is not empty, it's a bot 
       die("No spamming allowed bitch!"); 
      } else { 
       // Process the form like normal 
      } 

Il processo di cui sopra può essere fatto più facile con l'uso del modulo BOTCHA Spam Prevention

Inoltre è possibile avere uno sguardo su questi articoli per avere una migliore visione d'insieme del soggetto.

Green-beast e web design, ma si possono trovare decine di articoli come questo sul web così

+0

Posso usare direttamente il tag html "nascosto"? – torr

+0

Non ti consiglierei di farlo perché non è supportato su IE. Non riesco a capire il motivo del downvote ... – Thanos

+0

Quello che ho fatto è reindirizzare l'accesso diretto: 'die ('"); ' – chiappa