我在Support page for the plugin, 但我想我现在也应该在这里发帖了--我从插件中收到了很多垃圾邮件Contact Form 7, 我想知道我的选项是什么来验证这个插件的传入消息。Rather than installing yet another plugin, it would be great if I could do something within functions.php
, or even something within one of Contact Form 7\'s php files to prevent this from happening. Is this possible?
我收到的此类垃圾邮件的一个示例如下:
loans for bad credit guaranteed <a href="http:/redacted">loans for people with bad credit</a> online loans bad credit [url=http://redacted[/url]
我相信,为了在我的站点上存储第三方反向链接,正在进行某种跨站点脚本编写。我试着用Javascript阻止这一点,但意识到这并不能解决问题,在另一篇文章中,我被告知要始终在服务器端而不是客户端验证/保护垃圾邮件。
最合适的回答,由SO网友:Rick Hellewell 整理而成
联系人表单7支持Akismet和reCaptcha;检查文档。隐藏字段没有用,IMHO;对于“scraper”,它们在页面源中仍然可见。(问题和其他技巧也不例外。)
我发现的唯一有用的事情是向感知人类交互的表单中添加一些Javascript:添加查找单击和/或所需字段焦点的函数。机器人程序很难使用JS,尽管有可能针对您的特定表单的垃圾邮件发送者可以绕过JS。但这是一次针对性很强的攻击。
我写了一个插件,将点击/聚焦感应添加到CF7表单中:FormSpammerTrap for Contact Form 7“。表单‘target’被修改为提交到‘honeytrap’站点,除非在必填字段上检测到点击/打开焦点,这会将表单‘target’重置为正常。表单上使用了一个简单的短代码来启用我的插件技术。
这会阻止许多垃圾邮件发送者,但没有完美的解决方案。我发现多种技术的结合:Akismet、reCaptcha和我的技术将捕获大量(但不是全部)垃圾邮件。