Ответ 1
Боты борются с чтением CSS или JavaScript, по крайней мере на данный момент.
Некоторые способы предотвращения спама бота без капчей:
<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 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>
Как вы можете видеть, имя пользователя будет скрыто. Боты не могут это распознать. Что вам нужно сделать после этого, просто подтвердите, что это поле пусто на вашем внутреннем коде.
<?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 a bot
die("No spamming allowed bitch!");
} else {
// Process the form like normal
}
Процесс выше можно сделать проще с помощью модуля BOTCHA Spam Prevention
Также вы можете взглянуть на эти статьи, чтобы получить более полное представление о предмете.
Green-beast и веб-дизайн, но вы можете найти десятки статей, подобных этому в Интернете, а также