在 Nginx 中拒绝所有带有波浪符号的 URI

在 Nginx 中拒绝所有带有波浪符号的 URI

我希望当请求包含波浪符号 (~) 时返回 403

例如:https://example.com/~/item-1/甚至。https://example.com/item1?status=~pending

我希望上述内容返回 403

我的想法是拥有类似下面的配置,但我不确定如何完成正则表达式部分。

map $request_uri $filefromarg {
    [WHAT-REGEX-HERE];
    default $request_uri;
}

try_files $filefromarg $uri =403;

请分享如何执行此操作以及可能的正则表达式模式。

答案1

此配置基于帖子 如何在 nginx 中阻止对 php tilde 文件的访问

server 
{
   listen          80 default_server;

   index           index.html;
   root            /var/www/default;

   [... other stuff ...]

   location ~ ~ 
   {
      return 403;
   }
}

相关内容