首頁 >後端開發 >php教程 >如何保護Apache中的特定URL

如何保護Apache中的特定URL

不言
不言原創
2019-04-09 11:29:592359瀏覽

有時我們需要在我們的網站中保護一個或幾個特定的URL,並且所有其他網站URL仍保留公共存取權限。使用網站中的目錄和檔案結構是非常容易管理的,但是cakephp等框架的路由結構不同於目錄結構,我們無法在目錄層面上保護它。本篇文章將介紹在Apache中保護特定的URL。

如何保護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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn