日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

apache目录的访问控制

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apache目录的访问控制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載鏈接:http://blog.sina.com.cn/s/blog_7be8a2150100trml.html


1.根目錄的訪問控制

  • DocumentRoot?"/var/www/html"?
  • ?
  • <Directory?/>?
  • ????Options?FollowSymLinks?
  • ????AllowOverride?None?
  • </Directory>?
  • 解釋一下:
    <Directory/>表示要對文件系統的目錄進行限制
    Options FollowSymLinks表示跟隨符號鏈接,關于Option的值參下表

    ?AllowOverrideNone表示不允許覆蓋,AllowOverride的值參見下表,在此例中對根目錄做了非常嚴格的限制,即只允許跟隨符號鏈接,不允許其他文件覆蓋當前的設置。
    2.文檔根目錄的訪問控制-----(針對文檔根目錄"/var/www/html"進行限制。

  • <Directory?"/var/www/html">?
  • Options?Indexes?FollowSymLinks?
  • Order?allow,deny?
  • Allow?from?all?
  • </Directory>?
  • 解釋一下:
    OptionsIndexs FollowSymLinks:設置允許跟隨符號連接:Indexes的含義是如果要訪問的文檔不存在,則會顯示出該目錄下的文件目錄清單。

    AllowOverride None:不允許覆蓋當前設置,即不處理.htaccess文件。
    Allow from all:允許從任何地點訪問該目錄
    拓展一下(關于OrderAllow,Deny詳解):
    Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory,Location, Files等),用來控制目錄和文件的訪問授權。

    所以,最常用的是:
    Order Deny,Allow
    Allow from All

    注意“Deny,Allow”中間只有一個逗號,也只能有一個逗號,有空格都會出錯;單詞的大小寫不限。上面設定的含義是先設定“先檢查禁止設定,沒有禁止的全部允許”,而第二句沒有Deny,也就是沒有禁止訪問的設定,直接就是允許所有訪問了。這個主要是用來確保或者覆蓋上級目錄的設置,開放所有內容的訪問權。

    按照上面的解釋,下面的設定是無條件禁止訪問:
    Order Allow,Deny
    Deny from All

    如果要禁止部分內容的訪問,其他的全部開放:
    Order Deny,Allow
    Deny from ip1 ip2
    或者
    Order Allow,Deny
    Allow from all
    Deny from ip1 ip2

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

    Order Deny,Allow
    Allow from all
    Deny from domain.org
    錯誤:想禁止來自domain.org的訪問,但是deny不是最后規則,apache在處理到第二句allow的時候就已經匹配成功,根本就不會去看第三句。
    解決方法:Order Allow,Deny,后面兩句不動,即可。

    Order Allow,Deny
    Allow from ip1
    Deny from all
    錯誤:想只允許來自ip1的訪問,但是,雖然第二句中設定了allow規則,由于order中deny在后,所以會以第三句deny為準,而第三句的范圍中又明顯包含了ip1(allinclude ip1),所以所有的訪問都被禁止了。
    解決方法一:直接去掉第三句。
    解決方法二:
    Order Deny,Allow
    Deny from all
    Allow from ip1

    下面是測試過的例子:
    --------------------------------
    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
    #全部都可以通行(默認的)
    -------------------------------
    Order allow,deny
    #全部都不能通行(默認的)
    -------------------------------
    Order allow,deny
    deny from all
    #全部都不能通行
    -------------------------------
    Order deny,allow
    deny from all
    #全部都不能通行
    -------------------------------
    對于上面兩種情況,如果換成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開頭的IP,但允許218.20.253.2通過;而其它非218.20開頭的IP也都允許通過。
    -------------------------------
    order allow,deny
    allow from 218.20.253.2
    deny from 218.20
    #和上面的差不多,只是掉換的order語句中的allow、deny先后順序,但最終結果表示全部都拒絕!

    總結

    以上是生活随笔為你收集整理的apache目录的访问控制的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。