- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
Apache提供了許多工具,允許管理員控制對服務器提供的特定資源的訪問。 您可能已經熟悉基于身份驗證的訪問控制,這需要訪問者在訪問資源之前對服務器進行身份驗證。
相比之下,Apache的基于規則的訪問控制允許您指定哪些訪問者在非常細微的級別訪問哪些資源。 您可以創建規則,阻止來自Web服務器的指定IP范圍,或者訪問特定資源,甚至訪問特定的虛擬主機。
基于規則的訪問控制的最基本的使用是對通過網絡連接可訪問的資源施加嚴格的限制。 在默認Apache配置中,Web服務器拒絕所有用戶訪問系統上的所有文件。 然后Apache允許管理員允許訪問特定資源。
這些訪問規則的附加用途包括阻止惡意流量的特定IP范圍,并且在許多其他可能性中將對給定資源或資源組的訪問限制為“內部用戶”。
下面是一個基本規則的例子:
Order Deny,Allow Deny from all Allow from 192.168.2.101
Order Deny,Allow指令告訴Web服務器在Allow規則之前應該處理“Deny”規則。
Deny from all指令告訴Web服務器所有用戶被拒絕訪問給定資源。 此規則優先執行。
Allow from指令告訴Web服務器應該允許源自IP地址192.168.2.101的請求。 這是最后處理,并表示拒絕所有規則的例外。
簡而言之,除192.168.2.101之外的所有主機都被拒絕訪問此資源。
其他訪問控制規則
您可以通過修改和擴展上面的示例為資源指定精細的訪問控制規則。 以下注釋和建議提供了對這些訪問控制系統可能實現的一些更高級功能的深入了解。
控制指定范圍IP的訪問
如果要控制指定范圍IP地址的訪問,而不是單個地址,Apache允許使用以下語法:
Order Deny,Allow Deny from all Allow from 192.168 Allow from 10
上述語句允許以192.168和10開頭的所有地址。這些IP范圍通常保留給本地網絡,不是公共可路?地址。 如果使用這些訪問控制規則,將只允許來自本地的流量。
這是訪問規則的另一個示例:
Order Allow,Deny Allow from all Deny from 185.201.1
此規則允許任何人訪問給定資源,然后拒絕以185.201.1開頭的所有IP地址的訪問。 此語句將覆蓋源自185.201.1.0到185.201.1.255的IP地址范圍的所有流量。
當創建訪問控制規則時,特別是那些使用Allow from all指令的規則,應該非常確定這些指令位于正確的上下文中。
高級訪問控制
盡管基于IP地址設置訪問控制規則是控制訪問的最簡單的方法,但Apache提供了許多其他方法。
首先,Apache允許管理員根據請求者的主機名來允許或拒絕訪問。 這會強制Apache對執行請求的主機名執行反向DNS(rDNS)查找,然后根據此信息允許或拒絕訪問。 考慮這個例子:
Order Deny,Allow Deny from all Allow from hostname.example.com
Apache僅允許來自具有hostname.example.com的有效rDNS的計算機的請求訪問此配置中的資源。
其次,可以在HTTP會話中圍繞環境變量構建訪問規則。 這允許您根據變量(例如瀏覽器(用戶代理)和引薦來源)允許和拒絕對資源的訪問。 讓我們來看下面的例子:
SetEnvIf Referer searchenginez.com search_traffic
Order Deny,Allow
Deny from all
Allow from env=search_traffic
此訪問控制規則與Apache的mod_setenvif結合使用。 首先,如果請求referrer匹配searchenginez.com,則設置環境變量search_traffic。 接下來,拒絕所有主機訪問資源。 最后,設置了允許訪問資源環境變量為search_traffic的請求。 有關設置和使用?境變量的更多信息,請參考mod_setenvif的官方Apache文檔。
提交成功!非常感謝您的反饋,我們會繼續努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP