如何拒绝访问具有映射域的多站点上的无推荐人请求

时间:2013-07-04 作者:Oudin

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\\.php*
RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
我知道下面的代码拒绝访问任何推荐人请求。

然而,我正在使用MultiSite安装,我想知道。

我如何修改它,使上面的代码能够与WP MultiState和映射域一起工作?

1 个回复
SO网友:fuxia

你可以钓到pre_comment_on_post:

add_action( \'pre_comment_on_post\', function(){
    if ( empty ( $_SERVER[\'HTTP_REFERER\'] ) )
        exit;
});
但是…请注意,并非所有没有推荐人的请求实际上都是垃圾邮件。一些防火墙和代理会剥离此字段。大多数自动垃圾邮件都带有Referer 字段中填充了垃圾邮件域的名称。所以你会得到很多误报。

结束

相关推荐

How to reduce spam

我安装了WordPress和一些插件来打击垃圾邮件。两者都是针对发表评论的注册和非注册成员。我添加了一个标准验证码和一个数学挑战题(5+what=11)。我尝试过不同的东西和软件,但结果是一样的。我每天都收到垃圾邮件。这对垃圾邮件发送者没有好处,因为我会查看所有评论,但这不会阻止评论。垃圾邮件发送者现在是否让人们每天访问同一个网站,并试图发送垃圾邮件(不太可能),还是仅仅是一个软件程序。在后一种情况下,为什么WordPress加载项不能阻止垃圾邮件评论。其他人也有同样的问题吗?在设置WordPress时,