[英]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.