最近越來越多的站長關注 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>

以上部分代碼可以根據個人網站情況做適當修改。