簡體   English   中英

正則表達式不允許 nginx 位置拒絕文件擴展名

[英]nginx location deny file extension not allowed by regex

nginx 上,我試圖只允許某些擴展並拒絕所有其他擴展,例如 gif、zip、exe、 php用於給定的子樹。

我想使用正則表達式來定義允許的擴展名。

這是我使用負面展望的嘗試:

location /wp-content/userimages/ {
  location ~* (\.(?!(jpg|png|jpeg)))$ {
    deny all;;
  }
}

(\.(?!(jpg|png|jpeg)))$正則表達式匹配. 在輸入的末尾,因為\. $ 您需要為擴展添加一個消費模式,例如[^.]+匹配除.

\.(?!(png|jpe?g)$)[^.]+$

請注意,我將jpeg|jpg縮小為jpe?g並將字符串結尾檢查添加到前瞻中,以便可以匹配以禁止擴展名開頭的擴展名(例如png2 (如果您遇到過)),而png不能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM