使用htaccess通过wp-Comments-post.php阻止垃圾邮件

时间:2019-07-22 作者:Jay

我的WordPress网站上有很多垃圾评论。正在使用wp-comments-post.php 文件我可以从日志中看到:

"POST /wp/wp-comments-post.php HTTP/1.0" 302 3744 "https://example.com/wp/link/" "Mozilla/5.0 (Windows NT 6.1; WOW64)
我已经在我的.htaccess 文件:

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\\.php*
RewriteCond %{HTTP_REFERER} !.*example.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
这似乎并不能阻止它。上面的代码有什么错误吗?

1 个回复
SO网友:Rick Hellewell

这并不能阻止垃圾邮件发送者,IMHO。

间谍甚至不用你的评论表。它们“刮取”表单(可能不是必需的),并通过发送表单字段的CURL进程“发布”。他们甚至不必访问你的网站-他们只需要一个评论帖子的ID。这很容易被猜测或“擦掉”-他们只需要“请求”你的页面并获取他们找到的第一个帖子ID值。或者使用随机数。

因此,寻找对帖子页面的有效访问以阻止垃圾邮件发送者对于向您的评论表单发送垃圾邮件的自动机器人来说是行不通的。

“wp评论”帖子。php的核心代码并不是为了让你拦截任何垃圾邮件机器人试图向你发送的评论垃圾邮件而“构建”的。核心代码IMHO中的缺陷。

唯一有效的方法是让Akismet能够感知注释代码。但即使这样也没有效果。

我已经构建了可用于有效阻止垃圾邮件的联系人表单的代码(请参见https://www.FormSpammerTrap.com - 它是免费的)。但我还没有找到一种方法来有效阻止垃圾评论机器人直接发布到wp评论帖子。php。这需要用替换文件重写该核心文件。然后你必须阻止直接访问wp评论帖子。php。

所以,我唯一的选择就是启用Akismet,让它扔掉它发现的所有垃圾邮件。但是,这并不是完全有效的。

这不是你问题的完整答案。但我不知道有哪种程序可以完全阻止基于机器人的评论垃圾邮件。(即使将htaccess更改为查找引用页面也无济于事——垃圾机器人只会在帖子中“伪造”引用页面的值。)

相关推荐

Spam Registrations

从过去的三天开始,我每天都有一个新用户注册到我的WordPress网站。默认角色为admin 这非常令人担忧。他们的电子邮件ID是[email protected][email protected].我已经开始使用Wordfence并禁用Anyone Can Register 在里面Settings > General.你能建议我做些什么额外的事情吗?现在,我正在手动删除注册。