tor*_*orr 12 html bots newsletter
我正在为我的通讯表格订阅打击未来的机器人spamers.我想保持表单简单,使程序快速,所以我不使用验证码,但隐藏的形式陷阱机器人.
是高效还是机器人知道如何识别隐藏的形式并绕过它?
Tha*_*nos 12
机器人很难阅读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'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>
Run Code Online (Sandbox Code Playgroud)
如您所见,将隐藏用户名字段.机器人无法识别这一点.之后您需要做的只是验证后端代码中此字段为空.
<?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
}
Run Code Online (Sandbox Code Playgroud)
使用模块BOTCHA Spam Prevention可以更轻松地完成上述过程
您还可以查看这些文章,以更好地了解主题.
绿色野兽 和 网页设计, 但你也可以在网上找到这样的数十篇文章