Apache 的 order deny allow 設(shè)置說明
更新時(shí)間:2010年12月17日 10:32:54 作者:
Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用來控制目錄和文件的訪問授權(quán)。
所以,最常用的是:
Order Deny,Allow
Allow from All
注意“Deny,Allow”中間只有一個(gè)逗號(hào),也只能有一個(gè)逗號(hào),有空格都會(huì)出錯(cuò);單詞的大小寫不限。
上面設(shè)定的含義是先設(shè)定“先檢查禁止設(shè)定,沒有禁止的全部允許”,而第二句沒有Deny,也就是沒有禁止訪問的設(shè)定,直接就是允許所有訪問了。這個(gè)主要是用來確?;蛘吒采w上級(jí)目錄的設(shè)置,開放所有內(nèi)容的訪問權(quán)。
按照上面的解釋,下面的設(shè)定是無條件禁止訪問:
Order Allow,Deny
Deny from All
如果要禁止部分內(nèi)容的訪問,其他的全部開放:
Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2
apache會(huì)按照order決定最后使用哪一條規(guī)則,比如上面的第二種方式,雖然第二句allow允許了訪問,但由于在order中allow 不是最后規(guī)則,因此還需要看有沒有deny規(guī)則,于是到了第三句,符合ip1和ip2的訪問就被禁止了。注意,order決定的“最后”規(guī)則非常重要,下面是兩個(gè)錯(cuò)誤的例子和改正方式:
Order Deny,Allow
Allow from all
Deny from domain.org
錯(cuò)誤:想禁止來自domain.org的訪問,但是deny不是最后規(guī)則,apache在處理到第二句allow的時(shí)候就已經(jīng)匹配成功,根本就不會(huì)去看第三句。
解決方法:Order Allow,Deny,后面兩句不動(dòng),即可。
Order Allow,Deny
Allow from ip1
Deny from all
錯(cuò)誤:想只允許來自ip1的訪問,但是,雖然第二句中設(shè)定了allow規(guī)則,由于order中deny在后,所以會(huì)以第三句deny為準(zhǔn),而第三句的范圍中又明顯包含了ip1(all include ip1),所以所有的訪問都被禁止了。
解決方法一:直接去掉第三句。
解決方法二:
Order Deny,Allow
Deny from all
Allow from ip1
總結(jié):Order Deny,Allow中,后一個(gè)是一定會(huì)被執(zhí)行的(有相應(yīng)的allow或deny語句時(shí)),如果沒有則按照語義分析。
Order Deny,Allow
Allow from All
注意“Deny,Allow”中間只有一個(gè)逗號(hào),也只能有一個(gè)逗號(hào),有空格都會(huì)出錯(cuò);單詞的大小寫不限。
上面設(shè)定的含義是先設(shè)定“先檢查禁止設(shè)定,沒有禁止的全部允許”,而第二句沒有Deny,也就是沒有禁止訪問的設(shè)定,直接就是允許所有訪問了。這個(gè)主要是用來確?;蛘吒采w上級(jí)目錄的設(shè)置,開放所有內(nèi)容的訪問權(quán)。
按照上面的解釋,下面的設(shè)定是無條件禁止訪問:
Order Allow,Deny
Deny from All
如果要禁止部分內(nèi)容的訪問,其他的全部開放:
Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2
apache會(huì)按照order決定最后使用哪一條規(guī)則,比如上面的第二種方式,雖然第二句allow允許了訪問,但由于在order中allow 不是最后規(guī)則,因此還需要看有沒有deny規(guī)則,于是到了第三句,符合ip1和ip2的訪問就被禁止了。注意,order決定的“最后”規(guī)則非常重要,下面是兩個(gè)錯(cuò)誤的例子和改正方式:
Order Deny,Allow
Allow from all
Deny from domain.org
錯(cuò)誤:想禁止來自domain.org的訪問,但是deny不是最后規(guī)則,apache在處理到第二句allow的時(shí)候就已經(jīng)匹配成功,根本就不會(huì)去看第三句。
解決方法:Order Allow,Deny,后面兩句不動(dòng),即可。
Order Allow,Deny
Allow from ip1
Deny from all
錯(cuò)誤:想只允許來自ip1的訪問,但是,雖然第二句中設(shè)定了allow規(guī)則,由于order中deny在后,所以會(huì)以第三句deny為準(zhǔn),而第三句的范圍中又明顯包含了ip1(all include ip1),所以所有的訪問都被禁止了。
解決方法一:直接去掉第三句。
解決方法二:
Order Deny,Allow
Deny from all
Allow from ip1
總結(jié):Order Deny,Allow中,后一個(gè)是一定會(huì)被執(zhí)行的(有相應(yīng)的allow或deny語句時(shí)),如果沒有則按照語義分析。
相關(guān)文章
VMware虛擬機(jī)安裝 CentOS 8 (1905)系統(tǒng)的教程圖解
這篇文章主要介紹了CentOS 8 (1905)系統(tǒng)安裝,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
Linux中可以節(jié)省你時(shí)間的15個(gè)命令別名
這篇文章主要給大家介紹了關(guān)于Linux中可以節(jié)省你時(shí)間的15個(gè)命令別名的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
linux服務(wù)器用centos還是ubuntu系統(tǒng)
兩者同為目前版本中個(gè)人和小團(tuán)隊(duì)常用的服務(wù)級(jí)操作系統(tǒng),在線提供的軟件庫中可以很方便的安裝到很多開源的軟件及庫,不過問了多年維護(hù)服務(wù)器的朋友多用centos系統(tǒng)2012-12-12
ubuntu環(huán)境下安裝memcache及啟動(dòng)的方法
這篇文章主要介紹了ubuntu環(huán)境下安裝memcache及啟動(dòng)的方法,結(jié)合實(shí)例形式簡單分析了ubuntu環(huán)境下memcache的安裝、啟動(dòng)及簡單測(cè)試方法,需要的朋友可以參考下2018-03-03
linux下cat命令連接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上
這篇文章主要給大家介紹了關(guān)于在linux下cat命令連接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-07-07
Linux環(huán)境使用g++編譯C++方法總結(jié)
本篇文章給大家分享了在Linux環(huán)境中用g++編譯C++的方法以及相關(guān)實(shí)例代碼分享,有興趣的朋友學(xué)習(xí)下。2018-03-03

