1. 程式人生 > >nginx配置禁止訪問目錄或檔案

nginx配置禁止訪問目錄或檔案

某些網站系統需要使用者上傳圖片等檔案到某些目錄下,難免程式有些漏洞,導致使用者上傳了php、cgi等等可執行的檔案,導致網站陷入非常為難的境地. 此時我們可以通過nginx來禁止使用者訪問這些目錄下的可執行檔案。


nginx配置:
  1. location ~^/(uploads|images)/.*\.(php|php5|jsp)$ {
  2. deny all;
  3. }
tips:在目錄uploads、images目錄下面的所有php、jsp都不能訪問。

也有人會選擇這樣寫:
  1. location ~^/(uploads|images)/.*\.(php|php5|jsp)$ {
  2. return403;
  3. }
這樣也是一樣的,如果配置了403頁面,會跳轉過去。

403頁面配置:
  1. error_page
    403 http://www.webyang.net/public/404.html;

還有一些問題也需要注意,就是我們可能在站點的任一目錄下放置了.sql檔案,我們可以通過下面的方式禁止瀏覽器訪問。
  1. location ~.*\.sql {
  2. deny all;
  3. }

這樣,任一目錄的sql檔案都不會被使用者訪問到了。