唯我獨『登』、利用.htaccess來限制IP登入WordPress後台

前陣子在看過高登老爺山羊各寫了一篇有關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頁面,別人就不知道你裝了哪些外掛,或是用了哪個佈景(如果你佈景改很大的話)

  1. 阿湯哥,我照你的方法使用了,讓wp-login.php顯示404頁面
    不過我的卻是顯示403 該如何讓他正確顯示404頁面呢??

    阿湯說:

    有可能是設定的問題

  2. 那如果我宿舍及家裡兩地跑,需要兩組IP位置的話,是同樣的方法再設定一次嗎 ?

    阿湯說:

    重複 IP 那一行就好

  3. 大哥~能发个.htaccess文件不,网上下不到都是DZ的,我要WP的,有原版最好。8380042@qq.com

    阿湯說:

    htaccess文件?可以自行新增一個空白檔進去就可以了

  4. 這個就不適用於我
    因為我常常在很多不同的地方登入維護或寫文章

    備分是一定要的!
    但是還是要防範攻擊
    因為許多攻擊不是要你的資料
    而是在你的網頁中加入隱碼
    讓他達到上這網站的人中木馬
    或是當為攻擊跳板的目的,不可不防!
    因為你絕對不會想收到來自FBI的信,這是真的會發生的! :as59

    阿湯說:

    不管怎麼防護

    還是備份好

  5. +1 我覺得備份比這來的重要
    要是沒備份 安全做得再好 被入侵了
    資料庫損毀還是沒有用
    所以我每天都會讓主機備份 SQL 到指定信箱
    就不怕有問題了 ^^

    阿湯說:

    沒錯+1

  6. .htaccess 是比較方便的做法

    不過缺點就是

    如果在外面要用公用電腦想要登入就沒得玩啦~~@@

    阿湯說:

    對呀,像我就不適用

    原本想寫用.htaccess來改變

    wp-admin的位置,不過要修改不少東西

    還是算了,不實用

  7. 呵呵~~真是各有千秋呀~
    這方法也挺不錯的~
    不用動用到任何的程式碼?

    阿湯說:

    不用耶,純綷利用htaccess….

    不過我就是那種到處登的人

    所以不適合我..

  8. 三位高手
    佶也膜拜
    還好連結
    可進貴格
    謝謝帥氣
    ㄚ湯哥哥
    佳節如何
    度過的呢
    敬祝天天
    都快樂喔
    :as51

    阿湯說:

    蝦咪佳節@@

    有三位高手嗎…我不是…

    他們二個才是- –

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *