欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Apache中的Order Allow,Deny用法詳解

 更新時(shí)間:2015年12月30日 11:25:44   作者:nd  
這篇文章主要介紹了Apache中的Order Allow,Deny用法,結(jié)合實(shí)例較為詳細(xì)的分析了Apache中Order Allow,Deny的具體作用及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文講述了Apache中的Order Allow,Deny用法。分享給大家供大家參考,具體如下:

Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用來(lái)控制目錄和文件的訪問(wèn)授權(quán)。

所以,最常用的是:

Order Deny,Allow
Allow from All

注意“Deny,Allow”中間只有一個(gè)逗號(hào),也只能有一個(gè)逗號(hào),有空格都會(huì)出錯(cuò);單詞的大小寫(xiě)不限。上面設(shè)定的含義是先設(shè)定“先檢查禁止設(shè)定,沒(méi)有禁止的全部允許”,而第二句沒(méi)有Deny,也就是沒(méi)有禁止訪問(wèn)的設(shè)定,直接就是允許所有訪問(wèn)了。這個(gè)主要是用來(lái)確?;蛘吒采w上級(jí)目錄的設(shè)置,開(kāi)放所有內(nèi)容的訪問(wèn)權(quán)。

按照上面的解釋?zhuān)旅娴脑O(shè)定是無(wú)條件禁止訪問(wèn):

Order Allow,Deny
Deny from All

如果要禁止部分內(nèi)容的訪問(wèn),其他的全部開(kāi)放:

Order Deny,Allow
Deny from ip1 ip2

或者

Order Allow,Deny
Allow from all
Deny from ip1 ip2

apache會(huì)按照order決定最后使用哪一條規(guī)則,比如上面的第二種方式,雖然第二句allow允許了訪問(wèn),但由于在order中allow不是最后規(guī)則,因此還需要看有沒(méi)有deny規(guī)則,于是到了第三句,符合ip1和ip2的訪問(wèn)就被禁止了。注意,order決定的“最后”規(guī)則非常重要,下面是兩個(gè)錯(cuò)誤的例子和改正方式:

Order Deny,Allow
Allow from all
Deny from domain.org

錯(cuò)誤:想禁止來(lái)自domain.org的訪問(wèn),但是deny不是最后規(guī)則,apache在處理到第二句allow的時(shí)候就已經(jīng)匹配成功,根本就不會(huì)去看第三句。

解決方法:Order Allow,Deny,后面兩句不動(dòng),即可。

Order Allow,Deny
Allow from ip1
Deny from all

錯(cuò)誤:想只允許來(lái)自ip1的訪問(wèn),但是,雖然第二句中設(shè)定了allow規(guī)則,由于order中deny在后,所以會(huì)以第三句deny為準(zhǔn),而第三句的范圍中又明顯包含了ip1(all include ip1),所以所有的訪問(wèn)都被禁止了。

解決方法一:直接去掉第三句。

解決方法二:

Order Deny,Allow
Deny from all
Allow from ip1

下面是測(cè)試過(guò)的例子:

Order deny,allow
allow from all
deny from 219.204.253.8
#全部都可以通行

Order deny,allow
deny from 219.204.253.8
allow from all
#全部都可以通行

Order allow,deny
deny from 219.204.253.8
allow from all
#只有219.204.253.8不能通行

Order allow,deny
allow from all
deny from 219.204.253.8
#只有219.204.253.8不能通行

Order allow,deny
deny from all
allow from 219.204.253.8
#全部都不能通行

Order allow,deny
allow from 219.204.253.8
deny from all
#全部都不能通行

Order deny,allow
allow from 219.204.253.8
deny from all
#只允許219.204.253.8通行

Order deny,allow
deny from all
allow from 219.204.253.8
#只允許219.204.253.8通行

Order deny,allow
#全部都可以通行(默認(rèn)的)

Order allow,deny
#全部都不能通行(默認(rèn)的)

Order allow,deny
deny from all
#全部都不能通行

Order deny,allow
deny from all
#全部都不能通行

對(duì)于上面兩種情況,如果換成allow from all,則全部都可以通行!

Order deny,allow
deny from 219.204.253.8
#只有219.204.253.8不能通行

Order allow,deny
deny from 219.204.253.8
#全部都不能通行

Order allow,deny
allow from 219.204.253.8
#只允許219.204.253.8通行

Order deny,allow
allow from 219.204.253.8
#全部都可以通行

order deny,allow
allow from 218.20.253.2
deny from 218.20
#代表拒絕218.20開(kāi)頭的IP,但允許218.20.253.2通過(guò);而其它非218.20開(kāi)頭的IP也都允許通過(guò)。

order allow,deny
allow from 218.20.253.2
deny from 218.20

#和上面的差不多,只是掉換的order語(yǔ)句中的allow、deny先后順序,但最終結(jié)果表示全部都拒絕!

前段時(shí)間做了個(gè)Apache的HTTP代理服務(wù)器,其中的order allow,deny這部分弄的不太懂,于是上網(wǎng)找資料看,誰(shuí)知道越看越糊涂,其中有些難以分辨對(duì)錯(cuò)甚至是誤導(dǎo)。就像破解windows系統(tǒng)密碼的一些文章那樣,很多都是人云亦云的,并沒(méi)有經(jīng)過(guò)測(cè)試。廢話少說(shuō),先把我經(jīng)過(guò)測(cè)試后分析總結(jié)出來(lái)的結(jié)論show出來(lái),相信這對(duì)大家的理解非常有幫助。

總則

影響最終判斷結(jié)果的只有兩點(diǎn):

1. order語(yǔ)句中allow、deny的先后順序;

2. allow、deny語(yǔ)句中各自包含的范圍。

溫馨提醒

1. 修改完配置后要保存好并重啟Apache服務(wù),配置才能生效;

2. 開(kāi)頭字母不分大小寫(xiě);

3. allow、deny語(yǔ)句不分先后順序,誰(shuí)先誰(shuí)后不影響最終判斷結(jié)果;但都會(huì)被判斷到;

4. order語(yǔ)句中,“allow,deny”之間“有且只有”一個(gè)逗號(hào)(英文格式的),而且先后順序很重要;

5. Apache有一條缺省規(guī)則,“order allow,deny”本身就默認(rèn)了拒絕所有的意思,因?yàn)閐eny在allow的后面;同理,“order deny,allow”本身默認(rèn)的是允許所有;當(dāng)然,最終判斷結(jié)果還要綜合下面的allow、deny語(yǔ)句中各自所包含的范圍;(也就是說(shuō)order語(yǔ)句后面可以沒(méi)有allow、deny語(yǔ)句)

6. allow、deny語(yǔ)句中,第二個(gè)單詞一定是“from”,否則Apache會(huì)因錯(cuò)而無(wú)法啟動(dòng),

7. “order allow,deny”代表先判斷allow語(yǔ)句再判斷deny語(yǔ)句,反之亦然。

上面說(shuō)的都是要記住的,而下面說(shuō)的是我獨(dú)創(chuàng)的理解方法。如果有人看了而沒(méi)有豁然開(kāi)朗的感覺(jué),那算是我的失??!

判斷原則分4步走:

1. 首先判斷默認(rèn)的;

2. 然后判斷逗號(hào)前的;

3. 最后判斷逗號(hào)后的;

4. 最終按順序疊加而得出判斷結(jié)果。

上面三點(diǎn)我說(shuō)的簡(jiǎn)單而形象,主要是為了便于記憶。暫時(shí)不理解不要緊,繼續(xù)看下面詳細(xì)的解說(shuō)自然會(huì)明白。下面以一個(gè)普通例子來(lái)做解釋——

order deny,allow
allow from 218.20.253.2
deny from 218.20

1. 所謂“首先判斷默認(rèn)的”,就是判斷“order deny,allow”這句,它默認(rèn)是允許所有;

2. 所謂“然后判斷逗號(hào)前的”,因?yàn)樵诒纠又械膐rder語(yǔ)句里面,deny在逗號(hào)的前面,所以現(xiàn)在輪到判斷下面的deny語(yǔ)句了——“deny from 218.20”;

3. 所謂“最后判斷逗號(hào)后的”,因?yàn)樵诒纠又械膐rder語(yǔ)句里面,allow在逗號(hào)的后面,所以最后輪到判斷下面的allow語(yǔ)句了——“allow from 218.20.253.2”。

4. 所謂“最終按順序疊加而得出判斷結(jié)果”,這是一個(gè)形象化了的說(shuō)法,我把每一步判斷都看作一個(gè)“不透明的圖層”,然后一步步按順序疊加上去,最終得出的“圖像”就是判斷結(jié)果。

用過(guò)作圖軟件的人應(yīng)該都知道“圖層”是怎么回事,我估計(jì)Apache關(guān)于order allow deny這方面的設(shè)計(jì)理念和photoshop等作圖軟件關(guān)于圖層的設(shè)計(jì)理念是一樣的。即“游戲規(guī)則”是一樣的。

那么上面的例子就可以是這么一個(gè)步驟和圖像——

1. 先畫(huà)一個(gè)白色的大圓,代表“order deny,allow”語(yǔ)句,默認(rèn)意思是允許所有;

2. 然后畫(huà)一個(gè)小一點(diǎn)的黑色圓,代表“deny from 218.20”語(yǔ)句,意思是拒絕所有以218.20開(kāi)頭的IP,放進(jìn)白色的大圓里面;

3. 最后再畫(huà)一個(gè)白色的圓,代表“allow from 218.20.253.2”語(yǔ)句,意思是允許218.20.253.2通過(guò),放在黑色圓的上面。

4. 到此為止,我們已經(jīng)可以看到一個(gè)結(jié)果了,白色大圓上面有一個(gè)黑色圓,黑色圓上面還有一個(gè)白色圓。最后,我們所能看到的黑色部分就是拒絕通行的,剩下的白色部分都是允許通行的。判斷的結(jié)果就是這么簡(jiǎn)單形象!

如果不懂的用作圖軟件,我們?cè)賮?lái)個(gè)非常貼近生活的比喻——

把上面的例子改動(dòng)一點(diǎn)點(diǎn),以便更好的理解:

order deny,allow

allow from 218.20.253.2

deny from 219.30

1. 首先拿一張A4白紙,代表第order語(yǔ)句,意思是允許全部;

2. 然后拿一張黑色紙剪一個(gè)圓,放在A4紙里面的某個(gè)位置上,代表deny語(yǔ)句,意思是拒絕所有以219.30開(kāi)頭的IP;

3. 最后拿白紙?jiān)偌粢粋€(gè)圓,放在黑色圓的旁邊,代表allow語(yǔ)句,意思是允許218.20.253.2通過(guò);注意,這個(gè)例子不是放進(jìn)黑色圓里面了,因?yàn)閐eny和allow語(yǔ)句不再有相互包含的關(guān)系了。

4. A4紙上面有一個(gè)黑色圓和一個(gè)白色圓,結(jié)果自然很明顯了。不過(guò)白色的A4紙上再放一個(gè)白色的圓,顯然是多余的了,因?yàn)榇蠹叶际前咨?,都代表允許,所以就重復(fù)了,可以去掉白色的圓而不會(huì)影響判斷結(jié)果。

如果看到這里還沒(méi)明白,那一定是我還有什么沒(méi)說(shuō)清楚的。那么請(qǐng)好好分析我所做過(guò)的測(cè)試?yán)樱瑢⒃谧詈罅谐鰜?lái)。

在這里再啰嗦一下,allow、deny語(yǔ)句后面跟的參數(shù)有多種形式,有不同的表達(dá)方式,我在網(wǎng)上看到的做法是deny from IP1 IP2 IP3或allow from domain.com等。其它的表達(dá)方式大家再找別的資料看吧。我想說(shuō)的是另一種表達(dá)方式:

order deny,allow
allow from IP1 IP2
allow from domain.info
allow from 219.20.55.0/24
deny from all

我沒(méi)具體驗(yàn)證過(guò)這是否對(duì),不過(guò)這樣是可以正常啟動(dòng)Apache服務(wù)的,按道理應(yīng)該是正確的表達(dá)方式。哈哈,像我這樣的入門(mén)者只能這樣了,還希望大家多多指教!

下面是測(cè)試過(guò)的例子:

Order deny,allow
allow from all
deny from 219.204.253.8
#全部都可以通行

Order deny,allow
deny from 219.204.253.8
allow from all
#全部都可以通行

Order allow,deny
deny from 219.204.253.8
allow from all
#只有219.204.253.8不能通行

Order allow,deny
allow from all
deny from 219.204.253.8
#只有219.204.253.8不能通行

Order allow,deny
deny from all
allow from 219.204.253.8
#全部都不能通行

Order allow,deny
allow from 219.204.253.8
deny from all
#全部都不能通行

Order deny,allow
allow from 219.204.253.8
deny from all
#只允許219.204.253.8通行

Order deny,allow
deny from all
allow from 219.204.253.8
#只允許219.204.253.8通行

Order deny,allow
#全部都可以通行(默認(rèn)的)

Order allow,deny
#全部都不能通行(默認(rèn)的)

Order allow,deny
deny from all
#全部都不能通行

Order deny,allow
deny from all
#全部都不能通行

對(duì)于上面兩種情況,如果換成allow from all,則全部都可以通行!

Order deny,allow
deny from 219.204.253.8
#只有219.204.253.8不能通行

Order allow,deny
deny from 219.204.253.8
#全部都不能通行

Order allow,deny
allow from 219.204.253.8
#只允許219.204.253.8通行

Order deny,allow
allow from 219.204.253.8
#全部都可以通行

order deny,allow
allow from 218.20.253.2
deny from 218.20
#代表拒絕218.20開(kāi)頭的IP,但允許218.20.253.2通過(guò);而其它非218.20開(kāi)頭的IP也都允許通過(guò)。

order allow,deny
allow from 218.20.253.2
deny from 218.20
#和上面的差不多,只是掉換的order語(yǔ)句中的allow、deny先后順序,但最終結(jié)果表示全部都拒絕!

希望本文所述對(duì)大家Apache服務(wù)器配置有所幫助。

相關(guān)文章

  • linux 觸摸屏驅(qū)動(dòng)編寫(xiě)

    linux 觸摸屏驅(qū)動(dòng)編寫(xiě)

    這篇文章主要介紹了linux 觸摸屏驅(qū)動(dòng)編寫(xiě),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 由Apache 500錯(cuò)誤引出的臨時(shí)文件問(wèn)題分析解決

    由Apache 500錯(cuò)誤引出的臨時(shí)文件問(wèn)題分析解決

    最近老是發(fā)覺(jué)centos下的php出現(xiàn)各種各樣的問(wèn)題,先是smarty大點(diǎn)就中斷執(zhí)行,然后,運(yùn)行速度好像變慢,到今晚。。。,終于罷工了--500內(nèi)部錯(cuò)誤。
    2014-07-07
  • 在Centos部署nodejs的步驟

    在Centos部署nodejs的步驟

    本篇文章主要介紹了在Centos部署nodejs的步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • linux防火墻iptables規(guī)則的查看、添加、刪除和修改方法總結(jié)

    linux防火墻iptables規(guī)則的查看、添加、刪除和修改方法總結(jié)

    本文介紹了如何對(duì)linux防火墻iptables規(guī)則進(jìn)行查看、添加、刪除和修改的操作,大家可以參考一下
    2018-03-03
  • 淺析Linux root設(shè)置初始值的方法

    淺析Linux root設(shè)置初始值的方法

    ubuntu默認(rèn)不允許使用root登錄,因此初始root賬戶(hù)是不能使用的,需要在普通賬戶(hù)下利用sudo權(quán)限修改root密碼。這篇文章主要介紹了Linux root設(shè)置初始值的方法,需要的朋友可以參考下
    2019-11-11
  • Ubuntu下各種壓縮與解壓的方式小結(jié)

    Ubuntu下各種壓縮與解壓的方式小結(jié)

    這篇文章主要給大家介紹了在Ubuntu系統(tǒng)下各種壓縮與解壓的方式,其中包括.tar、.gz、.bz2、.bz、.Z、.tgz、.zip、.rar以及.lha等各個(gè)的解壓與壓縮方法,每一種都給出了示例代碼,需要的朋友可以參考學(xué)習(xí),一起來(lái)看看吧。
    2017-04-04
  • Linux下9種優(yōu)秀的代碼比對(duì)工具推薦小結(jié)

    Linux下9種優(yōu)秀的代碼比對(duì)工具推薦小結(jié)

    這篇文章主要介紹了Linux下9種優(yōu)秀的代碼比對(duì)工具推薦小結(jié),不僅有命令行工具,還有 GUI 界面工具,讓你輕松進(jìn)行代碼比對(duì),感興趣的可以一起來(lái)了解一下
    2020-06-06
  • 緩存服務(wù)器的建立原理分析

    緩存服務(wù)器的建立原理分析

    通常情況下我們運(yùn)行程序的過(guò)程中會(huì)產(chǎn)生一些中間數(shù)據(jù),這些中間數(shù)據(jù)需要在將來(lái)的某個(gè)時(shí)間讀取。這就要求我們要把它存在一個(gè)提供高速存取的地方,最好的選擇就是內(nèi)存中。
    2008-10-10
  • vmware安裝CentOS 7的詳細(xì)教程

    vmware安裝CentOS 7的詳細(xì)教程

    這篇文章主要為大家詳細(xì)介紹了vmware安裝CentOS7的詳細(xì)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 基于SecureCRT向遠(yuǎn)程Linux主機(jī)上傳下載文件步驟圖解

    基于SecureCRT向遠(yuǎn)程Linux主機(jī)上傳下載文件步驟圖解

    這篇文章主要介紹了基于SecureCRT向遠(yuǎn)程Linux主機(jī)上傳下載文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論