有時我們需要在我們的網站中保護一個或幾個特定的URL,並且所有其他網站URL仍保留公共存取權限。使用網站中的目錄和檔案結構是非常容易管理的,但是cakephp等框架的路由結構不同於目錄結構,我們無法在目錄層面上保護它。本篇文章將介紹在Apache中保護特定的URL。
例如,一個網站有一個安全區域,如http://example.com/admin/“,我們只有授權使用者或IP才能存取/admin/部分。
1、在特定URL上設定基於IP的限制
首先編輯apache設定文件,並在virtualhost中新增下列項目。這將僅允許/admin URL存取192.168.10.11和123.45.67.89 IP。
<Location /admin> Order deny,allow Deny from all Allow from 192.168.10.11 Allow from 123.45.67.89 </Location>
儲存Apache設定檔並使用以下命令之一重新啟動Apache服務。
# service httpd restart # For RHEL based systems $ sudo service apache2 restart # For Debian based systems
我們嘗試從任何其他IP存取你的網站。同時也要在設定檔中檢查給定的ip。。
2、在特定URL上設定使用者身份驗證
編輯apache設定文件,並在網站virtualhost部分新增以下內容。
<Location /admin> AuthUserFile /var/www/htpasswd/.htpasswd AuthName "Password Protected Area" AuthType Basic Require valid-user </Location>
現在使用下面的命令建立新的htpasswd檔案並新增一個新使用者。
# htpasswd -cm /var/www/htpasswd/.htpasswd myuser New password: Re-type new password: Adding password for user myuser
重新啟動Apache並造訪你的網站URL,它將提示登入的詳細資訊。
# service httpd restart # For RHEL based systems $ sudo service apache2 restart # For Debian based systems
這篇文章到這裡就已經全部結束了,更多其他精彩內容大家可以關注PHP中文網的PHP視頻教程欄目!
以上是如何保護Apache中的特定URL的詳細內容。更多資訊請關注PHP中文網其他相關文章!