简单和基本形式的垃圾邮件减少:检查 JavaScript?
-
09-06-2019 - |
题
我正在努力减少我们网站上的表单垃圾邮件。(实际上是最近的)。
我似乎记得在某处读到垃圾邮件发送者没有在网站上执行 Javascript。
真的吗?如果是这样,那么您可以简单地检查 javascript 是否被禁用,然后确定它是 可能 这是垃圾邮件?
解决方案
仍然有大量的人在关闭 Javascript 的情况下运行。
另外,我在使用 CSS 阻止垃圾邮件方面取得了相当大的成功。基本上,包括使用 CSS 隐藏的输入字段和标签(display: none;
)并提交后,检查该字段中是否输入了任何内容。
我通常将该字段标记为垃圾邮件过滤器,并附有说明 不是 在该字段中放置任何内容,但所有较新的浏览器都会正确隐藏该块。
- 更多的: 使用 CSS 对抗垃圾邮件
验证码 实施起来也非常容易。
其他提示
查看 http://kahi.cz/wordpress/ravens-antispam-plugin/ 一个好的答案
如果放入
<noscript><p><label for="websiteurl99f">Please type "e73053": </label><input type="text" name="websiteurl99f" id="websiteurl99f" /></p></noscript>
<script type="text/javascript">/* <![CDATA[ */ document.write('<div><input type="hidden" name="websiteurl99f" value="e' + '73053" \/><\/div>'); /* ]]> */</script>
所以 javascript 用户看不到任何东西,非 js 用户只需输入一个单词
如果垃圾邮件发送者专门针对您,他们不会花很长时间来编码,但对于垃圾邮件发送者的驱动来说,这应该是好的
同样,添加虚拟字段然后使用 CSS 隐藏它是欺骗机器人的好方法。如果提交了该字段,您就知道可能是非人类完成了该表单。
如果您按照以下方式标记/命名该字段,则特别有效 网址 或者 网站.
您可以检查 - 有 JavaScript 使用特定值填充隐藏表单字段 后 页面加载。然后,当页面回发到服务器时,检查隐藏表单字段的预期值。如果它不存在,则意味着 JavaScript 未执行。
至于您是否应该假设它是垃圾邮件完全是另一回事,并且确实没有确定的答案。你可以简单地有一个 <noscript>
标签并让它向用户表明,除非他们启用 JavaScript,否则他们的提交将不会被接受。
然而,一旦 JavaScript 运行,垃圾邮件发送者就会使用另一种解决方法。:)
我不记得在哪里见过这种方法,但垃圾邮件机器人喜欢填写表格。您是否考虑过放置一个用 JavaScript 隐藏的表单字段(并表示如果用户没有 JavaScript,则不要填写此字段)。这样,如果此字段填写了某些内容,您可以将其视为垃圾邮件而忽略。
你有这样的运气吗?我认为一些基于文本的浏览器已经实现了基本的 JavaScript 支持,所以也许垃圾邮件机器人也有?
否则,我正在考虑为没有 JavaScript 的用户使用验证码,并为其他用户使用一些自动 JavaScript 检查。