Apache2.4權限配置

Apache2.4權限配置(原創帖-轉載請註明出處)

=======================說在前面的話============php

1:此次實驗使用的php項目是Discuz,Discuz的安裝請參照:https://blog.51cto.com/wangxiaoke/2175981html

===================如今開幹===================正則表達式

在本次實驗中咱們使用以下標籤:bash

<Directory 「目錄」>   ... </Directory>服務器

<Filesmatch 「文件」>  ... </Filesmatch>ide

<Location 「URL」>    ... </Location> post

 

 

第一:<Directory 「目錄」></Directory>標籤講解ui

           說明:針對目錄作權限限制spa

           1:標籤結構code

                以 <Directory 「目錄」> 開頭,中間填充選項參數,以 </Directory> 結尾

           2:標籤位置

                在 <VirtualHost *:80> 和 </VirtualHost> 標籤中間

           3:標籤指令參數詳解

                       ①:Options指令,Options指令後能夠附加指定多種服務器特性,特性選項之間以空格分隔,特性表以下:

All                    表示除MultiViews以外的全部特性。這也是Options指令的默認設置
None 表示不啓用任何的服務器特性。
FollowSymLinks 服務器容許在此目錄中使用符號鏈接。若是該配置選項位於<Location>配置段中,將會被忽略。
Indexes

若是輸入的網址對應服務器上的一個文件目錄,而此目錄中又沒有DirectoryIndex指令

(例如:DirectoryIndex index.html index.php),那麼服務器會返回由mod_autoindex

模塊生成的一個格式化後的目錄列表。

MultiViews

容許使用mod_negotiation模塊提供內容協商的"多重視圖"。簡而言之,若是客戶端請求的

路徑可能對應多種類型的文件,那麼服務器將根據客戶端請求的具體狀況自動選擇一個最匹

配客戶端要求的文件。例如,在服務器站點的file文件夾下中存在名爲hello.jpghello.

html的兩個文件,此時用戶輸入Http://localhost/file/hello,若是在file文件夾下並

沒有hello子目錄,那麼服務器將會嘗試在file文件夾下查找形如hello.*的文件,而後根

據用戶請求的具體狀況返回最匹配要求的hello.jpg或者hello.html

SymLinksIfOwnerMatch

SymLinksIfOwnerMatch服務器僅在符號鏈接與目標文件或目錄的全部者具備相同的用戶

ID時才使用它。簡而言之,只有當符號鏈接和符號鏈接指向的目標文件或目錄的全部者是同

一用戶時,纔會使用符號鏈接。若是該配置選項位於<Location>配置段中,將會被忽略。

ExecCGI 容許使用mod_cgi模塊執行CGI腳本。
Includes 容許使用mod_include模塊提供的服務器端包含功能。
IncludesNOEXEC

容許服務器端包含,但禁用"#exec cmd"和"#exec cgi"。但仍能夠從ScriptAlias目錄

使用"#include virtual"虛擬CGI腳本。

                              

                       ②:AllowOverride指令,該指令用於指定是否使用.htaccess文件,參數有以下表:

All 開啓.htaccess文件
None 關閉.htaccess文件

 

                       ③:Require指令,該指令用於指定容許、拒絕列表,在Apache2.2用的是下面這種

.

                            而在Apache2.4用的是 Require all granted 和 Require all denied這種方式,具體以下表:

Require all granted 容許全部的訪問
Require all denied 拒絕全部訪問
Require ip 10.2.2.32 容許10.2.2.32這個地址訪問
Require not ip 10.3.3.21 拒絕10.3.3.21這個地址訪問
Reuquire host baidu.com 容許名爲baidu.com的域訪問
Reuquire not host baidu.com 拒絕名爲baidu.com的域訪問

 

                            若是是一條規則,能夠直接使用,可是若是有多條規則,則必須把這些規則包含在以下元素當中:

<RequireAll>     </RequireAll> 在此元素中包含的規則,拒絕優先執行
<RequireAny>     </RequireAny> 在此元素中包含的規則,容許優先執行

                            舉例1:容許全部訪問,只拒絕192.168.1.103訪問  

                <RequireAll>
                    Require all granted
                    Require not ip 192.168.1.103
                </RequireAll>

                           舉例2:拒絕全部訪問,只容許192.168.1.103訪問

                <RequireAny>
                    Require all denied
                    Require ip 192.168.1.103
                </RequireAny>

                          

第二:<FilesMatch 「文件」> </FilesMatch>

           說明:針對文件作權限限制,和Apache2.2版本的 <Files "文件"> </Files>  做用同樣,只不過新的這個支持正則表達式。

           1:標籤結構

                以 <FilesMatch 「文件」> 開頭,中間填充選項參數,以 </FilesMatch> 結尾

           2:標籤位置

                在 <VirtualHost *:80> 和 </VirtualHost> 標籤中間

           3:標籤指令參數詳解:

                            ①:Require指令,該指令用於指定容許、拒絕列表,在Apache2.2用的是下面這種

                       Order Deny,Allow
                             Deny All
                            Allow Form 10.3.33.3  

                            而在Apache2.4用的是 Require all granted 和 Require all denied這種方式,具體以下表:

Require all granted 容許全部的訪問
Require all denied 拒絕全部訪問
Require ip 10.2.2.32 容許10.2.2.32這個地址訪問
Require not ip 10.3.3.21 拒絕10.3.3.21這個地址訪問
Reuquire host baidu.com 容許名爲baidu.com的域訪問
Reuquire not host baidu.com 拒絕名爲baidu.com的域訪問

 

                            若是是一條規則,能夠直接使用,可是若是有多條規則,則必須把這些規則包含在以下元素當中:

<RequireAll>     </RequireAll> 在此元素中包含的規則,拒絕優先執行
<RequireAny>     </RequireAny> 在此元素中包含的規則,容許優先執行

                            舉例1:容許全部訪問,只拒絕192.168.1.103訪問  

                <RequireAll>
                    Require all granted
                    Require not ip 192.168.1.103
                </RequireAll>

                           舉例2:拒絕全部訪問,只容許192.168.1.103訪問

                <RequireAny>
                    Require all denied
                    Require ip 192.168.1.103
                </RequireAny>

                          

第三:<LocationMatch "URL"> </LocationMatch>

          說明:針對URL作權限限制,和Apache2.2版本的 <Location "URL"> </Location>  做用同樣,只不過新的這個支持正則表達式。 

          1:標籤結構

                以 <LocationMatch 「文件」> 開頭,中間填充選項參數,以 </LocationMatch> 結尾

          2:標籤位置

                在 <VirtualHost *:80> 和 </VirtualHost> 標籤中間

          3:標籤指令參數詳解:

                            ①:Require指令,該指令用於指定容許、拒絕列表,在Apache2.2用的是下面這種

                       Order Deny,Allow
                             Deny All
                             Allow Form 10.3.33.3

                            而在Apache2.4用的是 Require all granted 和 Require all denied這種方式,具體以下表:

Require all granted 容許全部的訪問
Require all denied 拒絕全部訪問
Require ip 10.2.2.32 容許10.2.2.32這個地址訪問
Require not ip 10.3.3.21 拒絕10.3.3.21這個地址訪問
Reuquire host baidu.com 容許名爲baidu.com的域訪問
Reuquire not host baidu.com 拒絕名爲baidu.com的域訪問

 

                            若是是一條規則,能夠直接使用,可是若是有多條規則,則必須把這些規則包含在以下元素當中:

<RequireAll>     </RequireAll> 在此元素中包含的規則,拒絕優先執行
<RequireAny>     </RequireAny> 在此元素中包含的規則,容許優先執行

                            舉例1:容許全部訪問,只拒絕192.168.1.103訪問  

                <RequireAll>
                    Require all granted
                    Require not ip 192.168.1.103
                </RequireAll>

                           舉例2:拒絕全部訪問,只容許192.168.1.103訪問

                <RequireAny>
                    Require all denied
                    Require ip 192.168.1.103
                </RequireAny>
相關文章
相關標籤/搜索