使用Referrer而不是Captcha?

时间:2011-12-19 09:07:31

标签: php forms captcha spam referrer

考虑form.phpprocess.php。验证码的作用是检查表单是从form.php提交还是直接POST提交到process.php。一种简单的方法是检查Referrer,如果实际Referrer不是form.php则阻止处理。

这种方法的主要问题是什么,因为它通常不被使用?

垃圾邮件制作者机器人是否可以从form.php发送表单以将其作为Referrer

这种方法可以稍微阻止垃圾邮件(如果不完全)吗?

2 个答案:

答案 0 :(得分:2)

  

这种方法的主要问题是什么,因为它通常不被使用?

referer是一个可选的HTTP请求标头,有时会因隐私而被禁用(有时为了保护隐私,有时会被垃圾覆盖,有时会被隐私软件的广告覆盖)。

您不应该假设Real Users™会发送它。

  

垃圾邮件制作者机器人是否有可能从form.php发送表单以将其作为推荐人?

很容易。如果很大一部分垃圾邮件机器人没有设置它,我会感到惊讶。

答案 1 :(得分:1)

推荐人可以琐碎伪造,因为它只是一个HTTP标头。所以这将在5分钟内阻止一个坚定的垃圾邮件发送者。