欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
预防文件上传漏洞,配置nginx限制php执行目录 迁移博客园和云栖社区的帖子
未知  限制nginx目录中php的执行权限后防止php文件数据泄漏
[ 发布日期:1年前 (2023-11-22) ]   [ 来自:本站原创 ] [分类:其它运维与编程]
在之前的文章 预防文件上传漏洞,配置nginx限制php执行目录
中我们通过配置限制了php文件执行的权限,只有在限制范围内的php文件可以执行。

新的问题:网站目录中的其它php文件虽然不能执行,但是可以作为静态文件被直接下载。
注意可能会导致一些php文件中的配置数据泄漏。

之前的文章中只介绍了通过改变目录结构的方式来防止数据泄漏。

这里我们还是可以通过nginx的配置来进行限制,这样可以避免修改php系统的代码。
 在原来的配置中增加如下红色配置,注意该配置需要放置的允许php执行的配置后面。
 location ~ \.php$ {
   deny all;
  }

完整的配置文件如下:
[复制到剪贴板]

server{
   
listen 80
   
server_name www.rickw.cn rickw.cn;
   
root /var/www/htdocs/public;

   
index index.htm index.html index.php;

   
# 只允许 index.php 有php脚本的执行权限
    location /index.php {
    
fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;

    
fastcgi_intercept_errors on;
    
fastcgi_index  index.php;
    include        
fastcgi_params;
    
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    
fastcgi_param  PATH_INFO $fastcgi_path_info;
    
fastcgi_pass   php-fpm;
  }


   
location / {
    
# 这里是处理 CodeIgniter4 中的URL重写
    
try_files $uri $uri/ /index.php;
   }

   
# 这里设置其它 php 文件禁止用户访问
   
location \.php$ {
    
deny all;
   }

   
# 注意 这里不要 include 其它默认配置,避免其它配置中有php的执行权限.
   # 不要   include /etc/nginx/default.d/*.conf;

   
error_page 404 /404.html;
   
location = /40x.html {
   }

   
error_page 500 502 503 504 /50x.html;
   
location = /50x.html {
   }

}
 



引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/266
复制引用地址https://www.rickw.cn/trackback/266/GBK
[ 分类:其它运维与编程  | 查看:246 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5