2017-05-17 68 views
1

有一個小問題,我希望有人能幫助我。我有一個WordPress網站,我只想授予員工訪問權限。所以我想使用一個HTTP引用所以這樣我可以從我們的內部網站添加一種像這樣的鏈接,...HTTP_REFERER&REMOTE_ADDR Combined

if (strpos($_SERVER["HTTP_REFERER"],'intranetsite.com') == true) 
    {  
echo "/"; 
    } 
else 
    { 
header('Location: http://wordpress.com/wp-admin') ; 
    } 

但是我也想補充的可信IP地址的列表,使用下面的代碼...

$allowlist = array(
    '00.0.000.000', 
    '00.00.0.000', 
); 

if(!in_array($_SERVER['REMOTE_ADDR'],$allowlist)){ 
    header('Location: http://wordpress.com/wp-admin'); 
} 

什麼是最簡單的方法來結合這段代碼?還是有更好的辦法,我應該這樣做?

希望這一切都有道理,如果不讓我知道我是否需要澄清任何事情。

道歉我缺乏編碼能力,還在學習繩索。任何幫助都將非常感激。

+0

在你的if語句中使用&&'(和)試過了嗎? 'if(strops(...)== true && in_array(...))'。 –

+1

有何反應?不要只留下問題(就像你在3月份提出的最後一個問題一樣)。如果答案有幫助,請將其標記爲正確。如果沒有,請告訴我們。 –

+0

對不起,我對此表示歉意,並不意味着放棄這種說法。感謝您的建議。 – tylery

回答

2

從安全角度來看,引用者是限制訪問網站的不可靠手段。它可以僞造,並非所有瀏覽器都能正確發送。

如果你想要一個更加安全和統一的方式來限制訪問你的網站,可以考慮使用Apache的.htaccess文件放在網站的根目錄下。

AuthType Basic 
AuthName "Restricted Access" 
AuthUserFile /var/www/your_path/.htpasswd 
Require valid-user 

order deny,allow 
deny from all 
allow from <your first IP> 
allow from <your second IP> 
allow from <your third IP> 
... 

與有你指定一個htpasswd文件將包含用戶名和加密的密碼,您的用戶訪問該網站時進行身份驗證的驗證指令的第一部分。有多種方式來創建這個文件,但最簡單的方法是使用像this one這樣的工具在線執行。

第二部分規定,除了您通過允許指令幫助您列出的IP之外,所有IP都將拒絕連接。

+0

我想通過.htaccess路線可能會是更好的方式。感謝您的建議和代碼示例,我會試一試。 – tylery