修复nginx的path_info漏洞

PHPABC Nginx 899 次浏览 , 没有评论

网上主要的说法,就这几样。
1 关闭php.ini里的path_info,cgi.path_info设置成0.如果默认前面有;或者就没这段,就手动加上cgi.path_info = 0 就可以了。
2 修改nginx里的设置。
比如原始文件

server {
        listen       80;
        server_name  typengine.com;
 
        location / {
                root   /home/www/phpabc.cn;
                index  index.php index.html index.htm;
                autoindex on;
             }
 
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
if ( $fastcgi_script_name ~ \..*\/.*php ) {
    return 403;
}
            fastcgi_param  SCRIPT_FILENAME  /home/www/phpabc.cn$fastcgi_script_name;
            include        fastcgi_params;
        }
}

对应的有下划线的部分就是需要添加的内容。

3 上传文件的服务器不要开放php权限。
4 上传的图片通通经过gd或者其他处理后再反馈,原始上传文件进行删除。

优先建议使用 2 3 4这三种办法。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go