2013-03-04 56 views
1

我打算在即將到來的項目中使用Wordpress,對我來說最大的問題是安全性。WordPress WP-admin IP檢查和重定向

我將有幾個用戶誰將能夠更新網站,我給了自己幾個選項。我可以構建一個靜態網頁,然後有一個只爲該頁面使用WordPress安裝的「博客」頁面。這似乎有點過分,只是針對博客功能,但它是一個選項。

我正在看的另一個選項是完整的WordPress安裝爲整個網站提供支持。我的大問題是阻止來自所有人的/wp-admin,但是靜態IP的人不會改變。我想如果我走這條路線,我可以用我的.htaccess來檢查IP,如果它返回false,則將其重定向到主頁。如果是,則繼續進入wp-admin登錄頁面。

如果我使用第二個選項,如何使用.htaccess來檢查IP,如果它返回false,則重定向回主頁。如果這是真的,繼續到WordPress登錄頁面。

這是最好的起點嗎?

<Location /wp-admin/> 
    order allow,deny 
    allow from 1.1.1.1 
    deny from all 
</Location> 

我很感激任何輸入提前!

回答

0

我能夠使用Olaf Dietsche寫給我的正確方向。通過將下面的代碼放在我的wp-admin文件夾中而不是根中,我可以控制誰有權訪問我的url/wp-admin登錄名,並且如果它們與允許的IP不匹配,那麼我將它們重定向回到主頁。

Options +FollowSymlinks 
RewriteEngine on 

#urls to exclude 
RewriteCond %{REQUEST_URI} !/wp-admin$ 
RewriteCond %{REQUEST_URI} !^/images$ 
RewriteCond %{REQUEST_URI} !^/$ 

#ip to allow access 
RewriteCond %{REMOTE_HOST} !^111\.111\.111\.111$ 

#send to root. If you want a specific URL, use /yourcustomurl.html 
RewriteRule .?/[R=302,L] 

我很欣賞大家的意見。並且非常感謝你!

1

您不能在.htaccess文件中使用Location。正如您從Context中看到的那樣,它只能在主服務器配置文件或虛擬主機部分中使用。

而且,你不應該使用它的安全性,如果wp-admin是在文件系統

<位置>指令
<位置真實目錄>部分文件系統之外的完全操作。這有幾個後果。最重要的是,< Location>指令不應該用於控制對文件系統位置的訪問。由於幾個不同的URL可能映射到相同的文件系統位置,因此可能會繞過此類訪問控制。

如果使用Access control by host,順序應該是

Order deny,allow 
Deny from all 
Allow from 1.1.1.1 

這將確保,任何人禁止進入/wp-admin/,除了給定的IP地址或域。