前陣子在看過高登老爺山羊各寫了一篇有關WordPress後台的防護方式後,後來丫湯各去試用了一下,其實都很不錯,我是走外掛愈少愈好那一派的,但因為山羊的要改原碼,深怕哪次改版後會忘記要再去修,或是出什麼問題,所以決定來從.htaccess檔案中來下手,這邊也順便做個筆記提供給大家其它防護的做法參考。

在往下看之前,客棺們可以先參考看看以下的做法:

高登老爺(利用外掛):幫WordPress後台築城牆

山羊兄(原碼修改):我的部落格被駭客了 – wordpress 後台登入修補

今天我們則是來看看怎麼利用.htaccess的設定來限制只有自己的電腦IP可以登入WordPress的後台,如此一來別人不管怎麼登都登不進去囉~只不過如果你常常在不同地方登入可能就不適用了…

利用.htaccess限定IP登入:

1、固定IP

如果你是使用固定IP的話,wp-admin下新增.htaccess檔案

新增以下語法,將紅字部份改為你的IP即可,網址看你要轉頁去哪就輸入哪,正常來說都會輸入自己的首頁,總不會免費幫別人打廣告吧@@

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REMOTE_ADDR} !^12.114.22.10

RewriteRule .* http://欲轉頁的網址/ [R,L]

</IfModule>

修改之後,只要不是你的IP位址想要進入後台登入頁都會被自動轉回首頁,就算是利用 http://網址/wp-login.php,最多只能看到帳密輸入,登了之後會轉到你輸入的網址去。

2、動態IP

以動態IP來說,原則上前2個位址都是固定的,變的通常是後面2個所以我們在.htaccess裡可以如此設定,修改前2個位址為你的即可

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REMOTE_ADDR} !^12.114.

RewriteRule .* http://欲轉頁的網址/ [R,L]

</IfModule>

3、wp-login.php顯示404頁面

如果你覺得只鎖了wp-admin資料夾還不夠,連wp-login.php也要限制的話,網站根目錄下的.htaccess(如果沒這個檔案就新增),新增以下語法,同上,只要將IP換成你的IP即可,如果你是動態IP,則改為12.114. 即可

<Files wp-login.php>

Order deny,allow

Deny from All

Allow from 12.114.22.10

</Files>

相對的,我們不一定要讓他變404頁面,當然也可以wp-admin一樣,轉到某個網頁,使用以下語法:

<IfModule mod_rewrite.c>

RewriteCond %{REQUEST_URI} wp-login.php

RewriteCond %{REMOTE_ADDR} !^12.114.22.10

RewriteRule .* http://欲轉頁的網址/ [R,L]

</IfModule>

最後再補充一個語法,如果要限制別人觀看你的目錄內容,只要在根目錄下的.htaccess檔加入以下語法即可

Options All –Indexes

如此一來像是輸入

http://網址/wp-content/plugins

http://網址/wp-content/themes

就看不到裡面的目錄了~全部會被轉至404頁面,別人就不知道你裝了哪些外掛,或是用了哪個佈景(如果你佈景改很大的話)

Categorized in:

WordPress, 網頁相關,

Last Update: 2012 年 07 月 19 日