nginx禁止访问目录中可执行文件

凉白开 Nginx617,1756字数 335阅读1分7秒阅读模式

某些网站系统需要用户上传图片等文件到某些目录下,难免程序有些漏洞,导致用户上传了php、cgi等等可执行的文件,导致网站陷入非常为难的境地. 此时我们可以通过nginx来禁止用户访问这些目录下的可执行文件。

nginx配置

 文章源自运维生存时间-https://www.ttlsa.com/nginx/deny-script-execution-in-directories/

location ~* /(images|cache|media|logs|tmp)/.*.(php|pl|py|jsp|sh|cgi)$ {
 return 403;
 error_page 403 /403_error.html;
 }

作用:在目录images、cache、media、logs、tmp目录下面的所有php、pl、py、jsp、sh、cgi都不能访问。文章源自运维生存时间-https://www.ttlsa.com/nginx/deny-script-execution-in-directories/

重启nginx

/usr/local/nginx-1.7.0/sbin/nginx -s reload文章源自运维生存时间-https://www.ttlsa.com/nginx/deny-script-execution-in-directories/

 文章源自运维生存时间-https://www.ttlsa.com/nginx/deny-script-execution-in-directories/

 文章源自运维生存时间-https://www.ttlsa.com/nginx/deny-script-execution-in-directories/ 文章源自运维生存时间-https://www.ttlsa.com/nginx/deny-script-execution-in-directories/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 16/08/2014 01:00:48
  • 转载请务必保留本文链接:https://www.ttlsa.com/nginx/deny-script-execution-in-directories/
评论  6  访客  4
    • lee
      lee 0

      请问这种情况下,403_error.html页面文件要放到哪里? server { root /home/;},home目录下还是找不到啊?

        • 匿名
          匿名 9

          @ lee 当前location没有配置root /you/path/;那么看你server是否有root /you/path/,如果也没配置,那么默认是nginx安装目录下的html目录下的403xxxx.html

        • Aceslup
          Aceslup 9

          很简单易懂。谢谢分享。

          • 牧童Damian
            牧童Damian 9

            mark

          • 来自外部的引用

          评论已关闭!