最近越来越多的站长关注 WordPress 网站的安全了,正好小编也最近也没什么教程好更新的,就写点有关于 WordPress 网站安全防护的教程吧。今天小编教大家使用.htaccess 文件保护 WordPress 站点不被恶意访客骚扰。
首先是垃圾评论,一直以来 WordPress 垃圾评论就是各大 WordPress 站长头疼的问题,很多垃圾评论都是软件直接利用 wp-comments-post.php 文件来直接提交的,那么我们可以利用.htaccess 文件来屏蔽 wp-comments-post.php 被直接访问,代码如下:(2013.10.31 更新:下面有位网友提问说用了小编的.htaccess 防垃圾评论代码出现访问错误,这里小编提示下代码中的 yourdomainname.com 要替换成自己的域名。)
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post.php* RewriteCond %{HTTP_REFERER} !.*yourdomainname.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] </IfModule>
接下来是防 sql 注入等恶意请求:
Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L]
之前小编曾说过 WordPress 有个爆路径的漏洞, 参考这篇文章:《 WordPress 防黑教程之预防全版本通杀爆绝对路径漏洞》,其实我们可以利用.htaccess 来禁止某系目录下的 php 文件被直接访问,以/wp-content/themes/目录为例:
<Directory "/example/htdocs/wp-content/themes/"> <Files *php> Order allow,deny Deny from all </Files> </Directory>
接下来是保护上传文件夹的安全,我们可以用.htaccess 文件来禁止在 WordPress 默认文件上传目录中运行 php 文件,代码如下:
<Directory "/example/htdocs/wp-content/uploads/"> php_admin_flag engine off </Directory>
以上部分代码可以根据个人网站情况做适当修改。