我需要防止 url 操纵访问 nginx 中的父目录

我需要防止 url 操纵访问 nginx 中的父目录

有人能建议一下如何最好地防止网络流量使用如下 URL 操作成功到达父文件夹吗:

https://www.example.com/../../secret.file/?q=1

这是在 nginx 上。

我认为我需要一个像这样的位置块:

location 
{
}

但我不确定需要什么样的正则表达式规则。任何禁止包含 ../ 的请求的规则都应该可以。

欢迎提出其他解决方案/建议。

非常感谢您的帮助

答案1

默认情况下,nginx 不允许任何人访问 root 指令以上的任何内容。无论如何,您可能希望阻止对某些扩展的访问,在这种情况下,您需要类似这样的规则来拒绝对这些扩展的任何请求:

location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
    deny all;
}

查看 nginx 文档https://nginx.org/en/docs/http

相关内容