这行在.htaccess文件中做了什么,并且这个文件中的其他行看起来安全吗?

时间:2017-05-01 10:29:41

标签: php wordpress apache .htaccess

我们的网站最近遭到黑客攻击,并提供如下文件:

www.example.com/some-spam-name

这些路径会重定向到某个垃圾邮件联属网页。 有成千上万的人。

我已经开始调查了,我检查的第一件事是.htaccess文件:

看起来像这样:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^secraksj$ "https\:\/\/example\.karansv\.com\/a\/3845\/RFcFd3FM" [R=301,L]


RewriteOptions inherit

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

显而易见的事情是:

  RewriteRule ^secraksj$ "https\:\/\/example\.karansv\.com\/a\/3845\/RFcFd3FM" [R=301,L]

有人可以解释这是做什么的,我可以看到正则表达式,^secraksj$但不太明白这个重写是如何运作的。

如果我从.htaccess文件中删除有问题的行,您认为文件的其余部分看起来相当标准吗?我试图一步一步地做事,现在我正试图修复.htaccess文件。

我想知道如果你在.htaccess文件中看到攻击者可能用来利用网站的其他内容,我是否会删除此行。

我发现了这个: My site was hacked, htaccess file compromised, what should it look like?

但是RewriteRule的语法不同。

1 个答案:

答案 0 :(得分:2)

RewriteRule ^secraksj$ "https\:\/\/exampledomain\.karansv\.com\/a\/3845\/RFcFd3FM" [R=301,L]

这会将example.com/secraksj的请求重定向到https://example.karansv.com/a/3845/RFcFd3FM

虽然^secraksj$是“正则表达式”,但它只匹配文字字符串“secraksj”。

前面的RewriteCond指令只是确保重定向仅在访问example.com主机(而不是其他停放/插件域)时发生。

  

你认为该文件的其余部分看起来相当标准吗?

是的,除RewriteOptions inherit指令外。这可能没问题,但你特别需要吗?此从任何父配置文件继承 mod_rewrite指令。

.htaccess文件的其余部分是标准(WordPress)前端控制器模式。

  

但是RewriteRule中的语法不同。

链接问题中的指令实际上并不有效,因此我不会将这些指令用作参考。