现在的位置: 首页 > 综合 > 正文

apache设置access.conf–关于AllowOverride一类的权限.htaccess

2013年09月04日 ⁄ 综合 ⁄ 共 3400字 ⁄ 字号 评论关闭

access.conf 設定說明

 

access.conf檔可用來設定網站目錄的存取權限,因為此檔中的設定會牽涉到一些保留字,在

此先做一些解釋後,您再看就會比較瞭解了。首先是<Directory></Directory>區塊中所使用

OptionsAllowOverridesdenyallow4項,Options是用來設定目錄的功能AllowOverrides

決定是否可廢除之前所設定的存取櫂限。而denyAllow是拒絕或允許從哪些地方連結到此網

站目錄。以下列出Options的可用參數:

 

Options參數

代表的意思

ALL

使用者可在此目錄中做任何事

ExecCGI

允許在此目錄中執行CGI script

FollowSymLinks

Sever可利用symbolic link連結到不在此目錄中的檔案或目錄

Indexes

Sever可以產生此目錄中的檔案列表

Includes

提供SSI的功能

IncludesNOEXEC

可使用SSI功能,但取消#exec#include CGI 功能

MultiViews

允許經由交談而取得不同的文件,例如可由瀏覽器要求傳送法文版的網頁`

None

安全不允許存取此目錄

SymLinkslfOwnerMatch

允許存取symbolic links連結的目錄,但僅限於該目錄的擁有人

 

AllowOverride會讀取目錄中的.htacess(如果該目錄中有此檔存在)檔案,以決定是否要改變原

來所設定的存取權限。例如”AllowOverride None”表示不要讀取.htaccess;all表示以.htaccess

的內容為準,改變原來的存取權限。為了避免使用者自行建立.htaccess檔以改變存取欋限,

因此access.conf 檔中的設定,每個目錄都定義為"AllowOverride None"

 

            另外還有一個<Location></Location>區塊,是用來限制存取的URL。當瀏覽者要進入本網站時

            ,最先是看access.conf檔中的<Directory>二區塊的存取櫂限,然後檢查srm..conf 中定義的

            AccessFileName .htaccess檔,再來是看 access.conf 檔中的<Files>區塊(預設是沒有使用<Files>

            ),最後則檢查<Location>區塊中的限制。

 


<Directory />   ←設定根目錄
Options FollowSymLinks    ←此目錄允許透過symbolic links存取
AllowOverride None  ←此目錄的權限不受.htaccess檔影響
</Directory>

<Directory "/usr/local/apache/htdocs">   ←設定網站的根目錄
Options Indexes FollowSymLinks    ←設定此目錄的存取權限,允許server建檔案列表,

                                                             並可以經由 symbolic link連結到其它目錄
AllowOverride None    ←不接受.htaccess中的設定
order allow,deny
allow from all    ←允許所有使用者存取

# allow from flag.com.tw           ←只允許來自於flag.com.tw domain存取,但要先"deny from all"才能拒絕其它地方連進來

# deny from 203.74.205            ←拒絕來自於203.74.205

</Directory>

# 這是 Apache 安裝的位置,上面的設定是將 apache 安裝在 /usr/local/apache
# 假設本 WWW Server 設為 fbsd.hmes.kh.edu.tw,當使用者以瀏覽器
# 打 http://fbsd.hmes.kh.edu.tw 時,即連結到 /usr/local/apache/share/htdocs

<Directory "/usr/local/apache/cgi-bin">

AllowOverride None
Options None   ←此為cgi-bin目錄,設為完全不允許存取

</Directory>

# 上面的路徑 /usr/local/apache/cgi-bi 是假設 apache 安裝在 /usr/local/apache
# Options None 建議改成 Options ExecCGI 允許於該目錄中執行 CGI 程式

 

#<Location /server-status>          <Location><Directory>類似,但是是用來限制URL

 

#SetHandler server-status

#order deny,allow

#deny from all

#allow from .your_domain.com

 

#</Location>

#上面的區塊可顯示出網站伺服程式目前的狀況

 

#<Location /server-info>           ←此區塊可顯示出伺服程式的設定,必須有加入mod_info.c組才有作用

#SetHandler server-info                 

#order deny.allow                          

#deny from all                                

#allow from .your_domain.com

#</Location>

 

 

#<Location /cgi-bin/phf*>          ←此區塊是因為Apache以前版本的bug,有些人會用來攻擊

#deny from all                                系統,啟用此區塊可將其導向到ErrorDocument指定的網頁。

#ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi

#</Location>

 


# 語法:從<Directory 目錄路徑> 到 </Directory> 
# 說明:是在設定目錄的相關屬性(控制權限)

# 語法:Options <參數>
# 說明:可配合 <Directory ...> </Directory>來控制該目錄的屬性
# 參數:可以開啟的屬性種類
# All 此目錄除 MultiViews 外,所有屬性都開啟
# MultiViews 允許 MultiViews 內容協商
# Indexes 若該目錄被以 http 的方式讀取,而該目錄中並不存在
# index.htm 或 index.html,則會自動將該目錄的檔案資
# 訊轉化成為 HTML 格式傳回給瀏覽器
# IncludesNOEXEC 開放 SSI(Server-side include) 的權限,但是會關閉 CGI
# 程式中 #exec 與 #include 的宣告
# Includes 開放 SSI(Server-side include) 的權限
# FollowSymLinks 准許 Symbolic Link 到其他目錄
# ExecCGI 准許執行 CGI 程式
# ymLinksfOwnerMath 准許 Symbolic Link 到的目錄與原始目錄的所有人不同
# 舉例:
# <Directory /usr/local/apache/share/htdocs>
# Options Indexes FollowSymLinks
# <Directory>
# 只開啟 Indexes 及 FollowSymLinks 功能 

# 語法:AllowOverride [All/None]
# 說明:設定位於 access.conf 中的設定,是否可以被 .htaccess 中的權限所覆蓋
# .htaccess 是一個位於目錄中的設定檔,可以設定該目錄及子目錄的屬性
# .htaccess 是內定檔名,真正的檔名要查看 srm.conf 中對於 AccessFileName 
# 的定義是哪一個檔案

# 語法:Order [allow/deny/allow,deny]
# 說明:設定何人可以從這個 Server 取得控制
# 舉例:
# Oeder allow,deny
# allow from edu.tw
# 所有來自 edu.tw 的 user 都可以取得控制權

 

 

抱歉!评论已关闭.