1

几天前,我们的网站受到了几个确定的引荐网站的攻击。错误日志每天都会充满大约 1Gb 的失败请求,并且在 wordpress 安装中存在大量内部服务器错误。

为了避免这种情况,我编写了以下 htaccess 重写规则来阻止来自特定引用者的流量。到目前为止,他们提供了帮助,该页面提高了它的可用性。但是,尽管错误日志现在已填充:[Sat Sep 22 13:14:29 2012] [error] [client 188.32.141.123] 由于可能的配置错误,请求超出了 10 个内部重定向的限制。如有必要,使用“LimitInternalRecursion”增加限制。使用'LogLevel debug'来获得回溯。,参考:http ://www.aztecmebel.ru/index.php?productID=1883&picture_id=3919 我假设重写规则 [F] 通过将引用者发送到再次被重写的失败页面来导致循环......知道如何停止吗?例如,如果已经应用了一次规则,就不再这样做了吗?我想避免 eerrorlog 被进一步填满......并且不必要的循环会占用 CPU......

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

RewriteCond %{HTTP_REFERER} aztecmebel\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} www\.aztecmebel\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} thanglongflc\.edu\.vn [NC,OR]
RewriteCond %{HTTP_REFERER} www\.thanglongflc\.edu\.vn [NC,OR]
RewriteCond %{HTTP_REFERER} gornji-rahic\.net [NC,OR]
RewriteCond %{HTTP_REFERER} www\.gornji-rahic\.net [NC,OR]
RewriteCond %{HTTP_REFERER} ams\.co\.th [NC,OR]
RewriteCond %{HTTP_REFERER} www\.ams\.co\.th [NC,OR]
RewriteCond %{HTTP_REFERER} yuanzhixing\.com [NC,OR]
RewriteCond %{HTTP_REFERER} www\.yuanzhixing\.com [NC,OR]
RewriteCond %{HTTP_REFERER} forumdownload\.net [NC,OR]
RewriteCond %{HTTP_REFERER} www\.forumdownload\.net [NC,OR]
RewriteCond %{HTTP_REFERER} ybcz\.cn [NC,OR]
RewriteCond %{HTTP_REFERER} www\.ybcz\.cn
RewriteRule .* - [F]
4

1 回答 1

1

我假设重写规则 [F] 通过将引用者发送到再次被重写的失败页面来导致循环......知道如何停止吗?

这可能是导致它的原因,特别是如果您有自定义错误文档。发生循环的原因是因为您将重定向状态检查为200,但F标志使状态成为403。尝试更改第一条规则以匹配 403:

RewriteCond %{ENV:REDIRECT_STATUS} 403
RewriteRule .* - [L]
于 2012-09-24T05:44:08.493 回答