使用htaccess来增强Wordpress安全性
这是一篇原创译文,转载请注明出处,原文请单击这里查看。
本文将讨论一些有关于增强Wordpress博客安全性的安全技术,这些技术在那些托管的环境下尤为有效。
首先我要说明的是本向导并不适合所有人,并且有可能影响一些第三方插件或者模板。
情况还没有想象中的糟糕,如果你能够应用本向导中的知识,你就可以显著地增强你的博客的安全性。包括暴力攻击、插件枚举、目录列表、敏感信息泄露以及文件包含漏洞等类型的攻击都能被阻止。
重要说明:请确保在操作之前备份好了您的Wordpress文件和数据库。
步骤1 – 限制wp-content 和wp-includes
使用 .htaccess 中的 <file> 指令,我们可以限制访问除图像、样式表以及JavaScript之外的文件。这里的 .htaccess 文件看起来如下:
Order Allow,Deny
Deny from all
<Files ~ “\.(css|jpe?g|png|gif|js)$”>
Allow from all
</Files>
如果你想要允许特定的插件如Democracy被访问,我们可以将下面的指令追加到 wp-content/.htaccess 文件末尾:
<Files “democracy.php”>
Allow from all
</Files>
将以上内容保存到您的 wp-content 和 wp-includes 目录下的 .htaccess 文件中。补充说明一下,您还可以允许指定的某文件被访问,这样能使您的插件和/或模板正常工作,如果需要的话。这是一个更简洁的办法。
步骤2 – 限制访问 wp-admin
要限制访问 wp-admin,您有两种选择。选择以下方法中的一种,把包含相应指令的 .htaccess 文件放到您的 wp-admin 目录下。
您可以限制 IP:
order deny,allow
allow from a.b.c.d # 这里的a.b.c.d就是您的静态 IP
deny from all
以上代码将阻止那些IP地址不是 a.b.c.d 的访客通过浏览器访问此目录中的任何文件。这里的“a.b.c.d”应当与您的静态IP地址一致。
或者您还可以通过密码来限制:
AuthUserFile /etc/httpd/htpasswd
AuthType Basic
AuthName “restricted”
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any
这里有一个bug。以上的规则代码会引发一个问题,如果那些在您的博客上发表评论的人没有输入邮箱地址,那么就会弹出一个输入密码的输入框。这是因为某些样式表和图片文件也位于wp-admin 目录之中。为了解决这一问题,我们可以将以上的代码包含于文件指令中,这个文件指令只会阻止 .php 文件被访问,不会阻止其它文件。这仍然能够阻止许多直接的攻击,并且同时还提供了许多额外的特性。下面是一个改进版:
<Files ~ “\.(php)$”>
AuthUserFile /etc/httpd/htpasswd
AuthType Basic
AuthName “restricted”
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any
</Files>
就是这样,有了这些措施,您的博客将更加安全。


