有人能建议一下如何最好地防止网络流量使用如下 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