如果您正在使用 FormFind(它分析页面的源代码并提取“操作”参数,输入标签将找到隐藏字段。隐藏字段不会阻止垃圾邮件机器人。
FormFind 将从 HTML 源代码中查找表单上的所有字段。一旦您找到输入字段 - 和“action”参数(FormFind 确实找到) - 使用 CURL 或 WGET 来“提交”表单很容易。
尽管 reCAPTCHA 对垃圾邮件机器人有帮助,但我发现的唯一技术(以及我在解决方案中使用的技术)是使用一些 JavaScript 代码来更改 onclick/onfocus 事件上的表单操作参数。而且,如果您在更改操作参数的 JS 函数中设置延迟,那将是一个额外的垃圾邮件拦截器。
使用 JS 来改变事物(或者甚至填充隐藏字段,如果你坚持使用的话)是一种很好的技术。CUSL 和 WGET 无法处理 JS 代码。(有一个开源项目声称可以处理 JS 代码,但几年前就被放弃了。)
JS 技巧是我在我的免费FormSpammerTrap.com网站上的联系表格中使用的。代码是免费和开源的。那里的联系表格使用了我的技术。没有从那里通过垃圾邮件机器人(自动化过程)收到任何垃圾邮件。而且我正在开发一个更新的版本,它将增加延迟以进一步阻止垃圾邮件发送者。
欢迎任何人索取代码以进行试用。免费。不收费。没有广告。除了我如何在我的网站上使用它来阻止垃圾邮件之外,对我没有任何好处。
因此,使用隐藏字段来阻止垃圾邮件程序不会很好地工作。你必须有更多的防御层来对抗它们。使用 JS 代码技术是有助于阻止几乎所有垃圾邮件机器人的另一层。(没有 100% 的解决方案,但我认为我的解决方案很接近 - 它已经存在了几年。)