2016-11-28 73 views
0

我們試圖用htacces中的ip塊來保護我們的管理url/admin /。所以我們只能從一個IP地址接近管理員網址,而其他人無法到達那裏。我們發現下面的代碼,使得它在HTTP工作,所以沒有SSL,但我們的網站有SSL(HTTPS),並用下面的代碼它不工作有:ip block magento admin for https

RewriteCond %{REQUEST_URI} ^/(index.php/)?admin/ [NC] 
RewriteCond %{REMOTE_ADDR} !^1.1.1.1 
RewriteRule ^(.*)$ http:// %{HTTP_HOST}/ [R=302,L] 

我不是專家在建立重寫規則和htacces中的東西。有沒有人知道如何更改此代碼以阻止https網店的管理員網址?

+0

我們不能幫助這樣一個模糊的問題。我們必須知道你想要重寫什麼URI,什麼不可以,也就是說,「這不起作用」就是_exactly_。 – arkascha

+0

感謝您的回覆Arkascha。好,所以我想要做的只是爲了安全起見,只有帷幕ip地址才能訪問管理頁面。所以只有從我們的辦公室才能到達。通過我在問題中發現的代碼,您可以爲沒有ssl證書(http)的網站執行此操作,現在我正在使用ssl(https)查找網站的代碼。所以在上面的例子中,只有ip 1.1.1.1可以訪問url admin,並且我試圖讓它與https協同工作。這是否更清楚? – Coen

+0

不,對不起,它沒有讓事情變得更清楚。從你的問題中清楚了很多。你沒有回答我的問題,你真正的意思是「這不行」。當然,從https站點重定向到http協議是值得懷疑的。在RewriteRule中也有一個明顯的語法錯誤。但我認爲你知道這些事情。所以我們的問題是:對你來說這個規則有什麼問題?哦,請不要在評論中添加其他信息。將其添加到問題中。在你的問題下面有一個編輯鏈接。 _使用它._ – arkascha

回答

1

現在還不是很清楚你的具體問題是什麼,但我會嘗試猜測回答這個問題。這可能是你的問題沒有解決。如果是這樣,那麼這個問題是你還沒有解決的其他問題。我在評論中上面提到了「這不起作用」的意思。 A 精確該問題的描述對於ge 精確答案很重要。

無論如何,我不明白爲什麼你必須以明確的方式處理協議和主機名。只是在一個相對的方式改寫一切,都應該罰款:

RewriteEngine on 
RewriteCond %{REQUEST_URI} ^/(index.php/)?admin/ [NC] 
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1$ 
RewriteRule ^/[R=302,L] 

注:而不是一個特定的IP地址,你可能想指定的地址範圍。所以一些前綴可能像^1\.1

而一般的提示:你應該總是喜歡把這樣的規則放在http服務器主機配置中,而不是使用.htaccess樣式文件。這些文件出了名的錯誤,很難調試,他們真的放慢了服務器。它們僅作爲最後一種選擇,用於您無法控制主機配置的情況(閱讀:真正便宜的託管服務提供商),或者您擁有依賴編寫自己的重寫規則的應用程序(這是一個明顯的安全噩夢)。

+0

感謝您的回覆。我認爲你確實得到了這個問題,我也改變了這個問題,使「這不起作用」的部分更清晰。現在,在您回答之後,我們將首先嚐試將其放置在http服務器主機中,以便它以更清晰的方式放置。 – Coen