關於Apacheserver的訪問控制

2021-09-07 11:16:52 字數 1428 閱讀 4995

apache的訪問控制指對不論什麼資源的不論什麼方式的訪問控制。

一、基於主機或者ip位址的控制

這樣的訪問控制基於訪問者的主機名或者ip位址,通過使用 deny 和 allow 指令。實現同意或者禁止某個主機訪問我們的server資源。通常 order 指令也會一起使用。來定義 deny 和 allows 指令起作用的順序。假設不使用 order 指令,預設的順序為 deny, allow, 就相當於 order deny,allow。

order 指令和 allow。deny 指令配合使用。實現了乙個三步控制系統。

第一步:依據order的順序。將順序在前的全部的allow指令或者deny指令應用於當前請求;也就是說假設是 order allow,deny 。那麼第一步就是將全部的allow指令應用於當前訪問。假設有匹配。那麼就同意該訪問;假設沒有匹配到一條allow指令,那麼就禁止其訪問。

第二步:將剩下的另外乙個指令的全部語句跟當前請求匹配。假設有匹配就執行對應的訪問控制。

第三步:假設當前請求沒有在前兩步匹配到不論什麼指令,就執行 order 指令中後面的那個指令。

以下,通過乙個樣例理解一下:

使指定資料夾下的資源僅僅讓本地訪問

order allow,deny

allow from 127.0.0.1

第一步: 本地的訪問匹配了 allow from 127.0.0.1 這條指令,所以被同意;其它的主機沒有匹配到不論什麼一條allow指令,所以被禁止訪問。

第二步:全部訪問都沒有匹配到 deny 指令;

第三步:沒有匹配到不論什麼指令的訪問,也就是不是本地的訪問,依照 order 指令,執行後面的 deny 的指令,所以被禁止訪問;

二、依據環境變數的訪問控制

這樣的方式能夠通過 allow from env= 或者 deny from env= 語法實現。比方僅僅同意使用火狐瀏覽器的客戶訪問:

setenvif user-agent "firefox" ff=1

order allow,deny

allow from env=ff

三、使用 mod_rewrite 實現訪問控制

通過 mod_rewrite 指令的 [f] 標誌,能夠基於不論什麼的標準對乙個資源實現訪問控制。

比方,我希望早八點到晚六點的時候才幹訪問不論什麼資源,我就能夠這樣:

rewriteengine on

rewritecond % >20 [or]

rewritecond % <07

rewriterule ^/fridge - [f]

這種話。晚上八點以後到早上7點,都會返回 403

Apache Server 負載均衡

第一次看到這個標題時我也很驚訝,apache居然還能做負載均衡?真是太強大了。經過一番調查後發現的確可以,而且功能一點都不差。這都歸功於 mod proxy 這個模組。不愧是強大的apache啊。廢話少說,下面就來解釋一下負載均衡的設定方法。一般來說,負載均衡就是將客戶端的請求分流給後端的各個真實伺...

apacheserver的檔案目錄和虛擬目錄設定

1.apacheserver的檔案目錄 bin 存放apacheserver的windows命令的目錄。cgi bin 存放linux下命令的目錄。error 錯誤處理檔案目錄。htdocs 預設專案目錄。icons 圖示目錄 logs 日誌目錄。manual 手冊目錄。modules 模組目錄。2...

關於this 的使用

如有不對的地方請大家指出,呵呵.this 的使用 1.this是指當前物件自己。當在乙個類中要明確指出使用物件自己的的變數或函式時就應該加上this引用。如下面這個例子中 public class a public static void main string args 執行結果 s hellow...