前陣子在看過高登老爺和山羊各寫了一篇有關WordPress後台的防護方式後,後來丫湯各去試用了一下,其實都很不錯,我是走外掛愈少愈好那一派的,但因為山羊的要改原碼,深怕哪次改版後會忘記要再去修,或是出什麼問題,所以決定來從.htaccess檔案中來下手,這邊也順便做個筆記提供給大家其它防護的做法參考。
在往下看之前,客棺們可以先參考看看以下的做法:
高登老爺(利用外掛):幫WordPress後台築城牆
山羊兄(原碼修改):我的部落格被駭客了 – wordpress 後台登入修補
今天我們則是來看看怎麼利用.htaccess的設定來限制只有自己的電腦IP可以登入WordPress的後台,如此一來別人不管怎麼登都登不進去囉~只不過如果你常常在不同地方登入可能就不適用了…
利用.htaccess限定IP登入:
1、固定IP
如果你是使用固定IP的話,在wp-admin下新增.htaccess檔案
新增以下語法,將紅字部份改為你的IP即可,網址看你要轉頁去哪就輸入哪,正常來說都會輸入自己的首頁,總不會免費幫別人打廣告吧@@
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^12.114.22.10
RewriteRule .* http://欲轉頁的網址/ [R,L]
修改之後,只要不是你的IP位址想要進入後台登入頁都會被自動轉回首頁,就算是利用 http://網址/wp-login.php,最多只能看到帳密輸入,登了之後會轉到你輸入的網址去。
2、動態IP
以動態IP來說,原則上前2個位址都是固定的,變的通常是後面2個所以我們在.htaccess裡可以如此設定,修改前2個位址為你的即可
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^12.114.
RewriteRule .* http://欲轉頁的網址/ [R,L]
3、wp-login.php顯示404頁面
如果你覺得只鎖了wp-admin資料夾還不夠,連wp-login.php也要限制的話,在網站根目錄下的.htaccess(如果沒這個檔案就新增),新增以下語法,同上,只要將IP換成你的IP即可,如果你是動態IP,則改為12.114. 即可
Order deny,allow
Deny from All
Allow from 12.114.22.10
相對的,我們不一定要讓他變404頁面,當然也可以wp-admin一樣,轉到某個網頁,使用以下語法:
RewriteCond %{REQUEST_URI} wp-login.php
RewriteCond %{REMOTE_ADDR} !^12.114.22.10
RewriteRule .* http://欲轉頁的網址/ [R,L]
最後再補充一個語法,如果要限制別人觀看你的目錄內容,只要在根目錄下的.htaccess檔加入以下語法即可
Options All –Indexes
如此一來像是輸入
http://網址/wp-content/plugins
或
http://網址/wp-content/themes
就看不到裡面的目錄了~全部會被轉至404頁面,別人就不知道你裝了哪些外掛,或是用了哪個佈景(如果你佈景改很大的話)