我正在尝试减少我们网站上的垃圾邮件。(它实际上是最近的)。
我似乎记得在某处读到垃圾邮件发送者没有在网站上执行 Javascript。
真的吗?如果是这样,那么您是否可以简单地检查是否禁用了 javascript,然后确定它很可能是垃圾邮件?
我正在尝试减少我们网站上的垃圾邮件。(它实际上是最近的)。
我似乎记得在某处读到垃圾邮件发送者没有在网站上执行 Javascript。
真的吗?如果是这样,那么您是否可以简单地检查是否禁用了 javascript,然后确定它很可能是垃圾邮件?
仍然有很多人在关闭 Javascript 的情况下运行。
或者,我在使用 CSS 阻止垃圾邮件方面取得了不错的成功。基本上,包括一个使用 CSS ( ) 隐藏的输入字段和标签,display: none;
一旦提交,检查是否在该字段中输入了任何内容。
我通常将该字段标记为垃圾邮件过滤器,并指示不要在该字段中放置任何内容,但所有较新的浏览器都会正确隐藏该块。
reCAPTCHA也非常容易实现。
检查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 用户只需输入一个单词
如果垃圾邮件发送者专门针对您,他们不会花很长时间对其进行编码,但对于垃圾邮件发送者的驱动,它应该是好的
您可以检查 - 让 JavaScript在页面加载后使用特定值填充隐藏的表单字段。然后,当页面回传到服务器时,检查隐藏表单字段的预期值。如果它不存在,则意味着 JavaScript 没有执行。
至于您是否应该假设它是垃圾邮件完全是另一回事,而且确实没有确定的答案。您可以简单地拥有一个<noscript>
标签,并让它向用户表明除非他们启用 JavaScript,否则他们的提交不会被接受。
但是,一旦您运行了 JavaScript,垃圾邮件发送者就会为此使用另一种解决方法。:)
同样,添加一个虚拟字段然后使用 CSS 隐藏它是欺骗机器人的好方法。如果该字段已提交,您就知道可能是非人类完成了该表单。
如果您按照URL或website的行标记/命名字段,则特别有效。
我不记得我在哪里看到过这种方法,但垃圾邮件机器人喜欢填写表格。您是否考虑过放置一个用 javascript 隐藏的表单字段(并说如果用户没有 JavaScript,请不要填写此字段)。这样,如果此字段中有某些内容,您可以将其视为垃圾邮件而忽略。
你有这个运气吗?我认为一些基于文本的浏览器已经实现了基本的 JavaScript 支持,所以也许垃圾邮件机器人也有?
否则,我正在考虑为没有 JavaScript 的用户使用验证码,并为其他用户使用一些自动 JavaScript 检查。