【发布时间】:2012-01-01 21:38:45
【问题描述】:
我一直在想一些简单的方法来防止垃圾邮件机器人将内容提交到网站上的公共表单(例如联系表单)中。
我知道现在很多网站都会问用户一个简单的问题(例如 2+4 是什么?)。
如果你具备以下条件,是否足以威慑大多数机器人?
HTML
<form action="submit.php" method="post">
<input type="text" name="name" placeholder="Name" /><br />
<textarea name="message" placeholder="Message"></textarea><br />
<label for="test">I am a:</label>
<select id="test">
<option value="robot" selected="selected">Robot</option>
<option value="human">Human</option>
</select>
</form>
PHP
<?php
if ($_POST['test'] == 'robot') header ('Location: contact.php?err=nothuman');
// process form
?>
作为机器人的想法可能会将选项项留在所选项目上。
如果有人有其他非常简单的解决方案,我很想听听?
【问题讨论】:
-
让每个人都知道我知道关于recaptcha - 我不是在谈论完整垃圾邮件保护,更简单垃圾邮件保护 - 我个人认为 recaptcha 对小事(例如联系表格)来说非常痛苦
-
在我使用过的一些简单表单上,机器人提交通常会选择第一个非默认选项。所以,既然你已经预先选择了机器人,他们很可能会选择人类。
-
虽然recaptcha有点多,但这是防止垃圾邮件的最佳方法之一。如今,机器人变得越来越聪明,可以轻松解析页面。如果您始终使用相同的图像/文本作为防止垃圾邮件的机制,则某些用户可能曾经将该选项输入机器人,然后它可以轻松地继续向您发送垃圾邮件。
-
@Michael 很有趣!...也许我应该选择三个选项 -
Robot、Monster、Human或其他什么? :) -
@AlexCoplan 或 3 个机器人和 1 个人类,并随机排列顺序。虽然 ReCaptcha 真的很有效......
标签: php html web-crawler spam-prevention