考虑form.php
和process.php
。验证码的作用是检查表单是从form.php
提交还是直接POST
提交到process.php
。一种简单的方法是检查Referrer
,如果实际Referrer
不是form.php
则阻止处理。
这种方法的主要问题是什么,因为它通常不被使用?
垃圾邮件制作者机器人是否可以从form.php
发送表单以将其作为Referrer
?
这种方法可以稍微阻止垃圾邮件(如果不完全)吗?
答案 0 :(得分:2)
这种方法的主要问题是什么,因为它通常不被使用?
referer是一个可选的HTTP请求标头,有时会因隐私而被禁用(有时为了保护隐私,有时会被垃圾覆盖,有时会被隐私软件的广告覆盖)。
您不应该假设Real Users™会发送它。
垃圾邮件制作者机器人是否有可能从form.php发送表单以将其作为推荐人?
很容易。如果很大一部分垃圾邮件机器人没有设置它,我会感到惊讶。
答案 1 :(得分:1)
推荐人可以琐碎伪造,因为它只是一个HTTP标头。所以这将在5分钟内阻止一个坚定的垃圾邮件发送者。