1. 程式人生 > >LAMP架構十六(Apache配置FilesMatch訪問控制)【完】

LAMP架構十六(Apache配置FilesMatch訪問控制)【完】

十六、訪問控制FilesMatch

    <Files>指令提供了基於檔名的訪問控制,類似於<Directory>和<Location>指令。它將配對一個</Files>指令。在此配置段中定義的指令將作用於其基本名稱(不是完整的路徑)與指定的檔名相符的物件。

    <Files>段將根據它們在配置檔案中出現的順序被處理:在<Directory>段和.htaccess檔案被處理之後,但在<Location>段之前。請注意:<Files>能嵌入到<Directory>段中以限制它們作用的檔案系統範圍。

舉個例子說明,之前寫過一篇關於防盜鏈的文章,裡面用到了filesmatch:

SetEnvIfNoCase Referer "^$" local_ref

SetEnvIfNoCase Referer "www.a.com/.*$"  local_ref

SetEnvIfNoCase Referer "a.com/.*$"  local_ref

<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|jpeg|png|gif|js|css)">    //凡是匹配到連線中以txt/doc等結尾的,進行下面的策略匹配

   Order Deny,Allow         //匹配順序 deny ,allow

    Deny from all             //拒絕所有

   Allow from env=local_ref         //允許標記為local_ref的Referer

</filesmatch>

 

<Directory  /data/wwwroot/a.com>

   <filesmatch  "admin.php(.*)">       根目錄下有關於admin.php的頁面,僅允許本機127.0.0.1訪問

   Order Deny,Allow        

    Deny from all            

   Allow from 127.0.0.1

  </filesmatch>

</Directory>

 

能夠看出filesmatch可以比directory更加匹配的更加的精確。