提高WordPress安全性的十個(gè)要點(diǎn)
發(fā)表時(shí)間:2010-07-05內(nèi)容來(lái)源:站長(zhǎng)資訊收集整理
安全是永恒的話題,在互聯(lián)網(wǎng)上更是如此,本文將為大家介紹10個(gè)小訣竅來(lái)提高WordPress博客的安全性。
1.刪除錯(cuò)誤提示。
當(dāng)我們登錄WordPress后臺(tái)失敗 時(shí)會(huì)顯示錯(cuò)誤信息。如果有人想攻擊你的博客那么他們會(huì)從錯(cuò)誤提示里得到很多有用的信息,我們需要做的就是不顯示任何信息。
解決:打開(kāi) functions.php 文件并添加如下代碼:
add_filter(‘login_errors’,create_function(‘$a’, “return null;”));
這段代碼可以讓返回的錯(cuò)誤信息為空。
2.使用SSL。
如果你擔(dān)心數(shù)據(jù)泄露或被截獲,那就使用 SSL連接方式吧。但是之前請(qǐng)確保博客主機(jī)支持SSL,如果不支持請(qǐng)直接跳過(guò)本條。
解決:打開(kāi) wp-config.php 文 件(一般位于根目錄)添加以下代碼:
define(‘FORCE_SSL_ADMIN’, true);
我 們定義了FORCE_SSL_ADMIN常數(shù),其值設(shè)置為true。這樣就在WordPress里開(kāi)啟了SSL。
3.用.htaccess 保護(hù)配置文件。
WordPress 用戶都知道wp-config.php文件的重要性,它保存了所有的配置信息:用戶名、密碼等等。所以控制對(duì) wp-config.php 的 訪問(wèn)權(quán)限就變得尤為必要。
解決:在修改.htaccess文件前請(qǐng)先備份,然后打開(kāi)并粘貼下面代碼:
order allow,deny
deny from all
修改后會(huì)拒絕任何對(duì) wp-config.php 文件的訪問(wèn)。
4.建立訪問(wèn)黑名單。
是不 是常被一些垃圾評(píng)論制造者所煩惱?如果是,需要做的就是屏蔽他們的IP,讓他們?cè)僖矡o(wú)法訪問(wèn)你的博客。
解決:修改.htaccess文 件添加以下代碼,事前別忘備份。
order allow,deny
allow from all
deny from 123.456.789
deny from 93.121.788
deny from 223.956.789
deny from 128.456.780
修 改后上面這些IP就會(huì)被限制訪問(wèn)。
5.防止腳本注入。
腳 本注入往往用來(lái)竊取用戶信息,如果攻擊者一旦得逞大多數(shù)情況下造成的損失很難挽回。
解決:依舊是.htaccess 文 件添加以下代碼,事先備份。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\|%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]
修改后所有的請(qǐng)求都會(huì)被檢查是否包換腳本段,如果包含就會(huì)拒絕 請(qǐng)求返回403錯(cuò)誤。
6.防止圖片盜鏈。
大多數(shù)虛擬主機(jī)和 VPS都是限制流量的,而圖片往往會(huì)消耗絕大部分流量。我們?cè)谙M约何恼卤桓嗳嗽L問(wèn)和傳播的同時(shí)又不得不去面對(duì)圖片鏈接帶來(lái)的巨大流量。所以防止圖片 外鏈?zhǔn)墙^對(duì)必要的。
解決:修改 .htaccess 文件添加以下代碼,之前一定記得備份。
RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your “don’t hotlink” image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
修改完成之后只有你的網(wǎng)站可以引用圖片,而其他 外部引用都會(huì)被替換為nohotlink.jpg 文件。你可以在nohotlink.jpg 里展示版權(quán)信息。當(dāng) 然你也可以指定替換為一個(gè)不存在的文件。
7.創(chuàng)建一個(gè) 插件來(lái)阻止惡意請(qǐng)求。
黑客往往使用惡意查詢來(lái)修著博客的薄弱點(diǎn)用來(lái)攻擊,雖然WordPress自身有比較完善的防 護(hù)機(jī)制,但也不是沒(méi)有提高的余地。
解決:創(chuàng)建一個(gè)文本文件粘貼以下代碼,并保存為 blockbadqueries.php 。 上傳到你博客的wp-content/plugins文件夾下,進(jìn)入后臺(tái)開(kāi)啟這個(gè)插件。
255 ||
strpos($_SERVER['REQUEST_URI'], “eval(“) ||
strpos($_SERVER['REQUEST_URI'], “CONCAT”) ||
strpos($_SERVER['REQUEST_URI'], “UNION+SELECT”) ||
strpos($_SERVER['REQUEST_URI'], “base64″)) {
@header(“HTTP/1.1 414 Request-URI Too Long”);
@header(“Status: 414 Request-URI Too Long”);
@header(“Connection: Close”);
@exit;
}
}
}
?>
修 改后如果有過(guò)長(zhǎng)請(qǐng)求(超過(guò)255個(gè)字符)或者URI中存在PHP函數(shù)就會(huì)返回一個(gè)414錯(cuò)誤。
8.刪除你的WordPress版本號(hào),切記!
WordPress 會(huì)在頭文件里顯示版本號(hào)。告訴攻擊者你版本號(hào)往往意味著他們可以少走很多彎路,為了不讓他們長(zhǎng)驅(qū)直入為什么不隱藏版本號(hào)呢?
解決:粘貼如下 代碼至 functions.php 文件,保存并刷新你的博客。
remove_action(‘wp_head’, ‘wp_generator’);
現(xiàn)在看,是不是沒(méi)有版本號(hào)了。
9.修改默認(rèn)管理員名。
蠻力攻擊是破解一個(gè)密碼最簡(jiǎn)單的辦法 之一。 該方法很簡(jiǎn)單:盡可能多的嘗試不同的密碼。如果他們知道的用戶名,他們只需要破解密碼。 這就是為什么你應(yīng)該改變默認(rèn)的“管理員”用戶名——“admin”的原因。請(qǐng)注意,WordPress的3.0版本會(huì)讓您選擇您想要的默認(rèn)用戶名。 但是這個(gè)方法依然適合3.0以前的版本。
解決:打開(kāi)數(shù)據(jù)庫(kù)執(zhí)行如下SQL語(yǔ)句,“Your New Username”為你想修改的用戶名。
UPDATE wp_users SET user_login = ‘Your New Username’ WHERE user_login = ‘Admin’;
修改后使用 新的管理員名戶名登陸。
10.防止目錄瀏覽。
默 認(rèn)情況下,大多數(shù)主機(jī)允許目錄列表。 因此,如果在瀏覽器的地址欄鍵入/wp-includes,就會(huì)看到在該目錄下的所有文件。 這無(wú)疑是一個(gè)安全風(fēng)險(xiǎn),因?yàn)楹诳涂梢钥吹缴弦淮芜M(jìn)行了修改的文件并訪問(wèn)它們。
解決:修改 .htaccess 文件添加 以下代碼,之前一定記得備份。
Options -Indexes
注意修 改后并不會(huì)影響用戶正常的訪問(wèn)這些文件。
優(yōu)得匯(www.youdehui.com)提示:歡迎到優(yōu)得匯網(wǎng)站目錄提交網(wǎng)站。