如您所知,Chrome不再支持:autocomplete =“off”,autocomplete =“nope”,autocomplete =“false”甚至autocomplete =“new-password”。

这意味着,有时会收到报告,说蜜 jar 陷阱阻止用户提交表单,因为陷阱输入是自动填充的,即使未显示也是如此。

设置陷阱的做法是将TEXT输入与display包裹在一起:元素,因此垃圾邮件漫游器将无法发现其真正隐藏的内容(除非它们更聪明,而且通常不是),并且如果此输入内容,您将不允许提交内容通过,对普通用户而言是隐藏的和空的。

您如何使用蜜 jar 陷阱,同时浏览器却忽略了使用上述对象自动完成或自动填充的需求,这是什么做法?

最佳答案

如果您使用的是FormFind(可分析页面的源代码并提取'action'参数,则输入标签将找到隐藏的字段。隐藏的字段不会停止垃圾邮件机器人。

FormFind将从HTML源代码中查找表单上的所有字段。一旦找到了输入字段和“action”参数(FormFind确实找到了),就可以轻松地使用CURL或WGET来“提交”表单。

尽管reCAPTCHA可以解决垃圾邮件问题,但我发现的唯一技术(以及在解决方案中使用的技术)是拥有一些JavaScript代码,这些代码将在onclick / onfocus事件上更改表单的action参数。而且,如果您在JS函数中添加了延迟以更改action参数,则这是垃圾邮件机器人的额外奖励。

使用JS进行更改(或者如果要坚持使用一个,甚至要填充一个隐藏字段)是一种很好的技术。 CUSL和WGET无法处理JS代码。 (有一个开源项目声称能够处理JS代码,但几年前就被放弃了。)

我在免费的FormSpammerTrap.com网站的联系表单中使用了JS技巧。代码是免费和开源的。和那里的联系表格使用我的技术。尚未从那里通过spambot(自动过程)获得任何垃圾邮件。我正在开发一个新版本,它将增加延迟,甚至进一步阻止垃圾邮件发送者。

欢迎任何人要求提供代码进行尝试。免费。不收费没有广告。除了我如何在网站上使用它来阻止垃圾邮件外,没有对我有任何好处。

因此,使用隐藏字段阻止垃圾邮件监听无法正常工作。您必须对它们采取更多防御措施。使用JS代码技术是另一层,它将帮助阻止几乎所有的垃圾邮件程序。 (目前尚无100%的解决方案,但我认为我的想法很接近-已经存在了两年。)

关于javascript - Honeypot垃圾邮件陷阱与浏览器自动填充功能冲突,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52760086/

10-16 21:37