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

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