nginx配置禁止訪問目錄或禁止訪問目錄下的文件


某些網站系統需要用戶上傳圖片等文件到某些目錄下,難免程序有些漏洞,導致用戶上傳了php、cgi等等可執行的文件,導致網站陷入非常為難的境地. 此時我們可以通過nginx來禁止用戶訪問這些目錄下的可執行文件。如果不禁止,nginx會直接去下載web目錄下文件,如果有配置文件,並可以直接暴露一些配置文件源代碼。測試時要清理瀏覽器緩存,瀏覽器會緩存下載的文件。如果有類似配置文件,建議不要放在web目錄下,會更加安全。

禁止訪問特定后綴文件

location ~ \.(php|jsp|txt)$ {
    deny all;
}

禁止訪問某個目錄下的php后綴文件

location /directory {
    location ~ .*\.(php)?$ {
    deny all;
    }
}

禁止訪問多個目錄下的php后綴文件

location ~* ^/(directory1|directory2)/.*\.(php)${
    deny all;
}

禁止訪問目錄或目錄下文件

#禁止訪問目錄
location ^~ /test/ {
    deny all;
}
#禁止訪問目錄下文件
location ^~ /test {
    deny all;
}

nginx location的匹配語法

= 表示精確匹配

^~ 表示uri以某個字符串開頭

~ 正則匹配(區分大小寫)

~* 正則匹配(不區分大小寫) !和!*分別為區分大小寫不匹配及不區分大小寫不匹配的正則

/ 任何請求都會匹配

匹配優先級: = > ^~ > /

nginx配置禁特定路徑下的反向代理
nginx配置禁止訪問目錄或禁止訪問目錄下的文件
nginx跨域處理
帶你深入了解nginx基本登錄認證(包含配置步驟)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM