在解析url时,常常需要将cgi.fix_pathinfo = 1;
fix_pathinfo是用来干嘛的呢?

为CGI提供真正的PATH_INFO / PATH_TRANSLATED支持。 PHP的以前的行为是将PATH_TRANSLATED设置为SCRIPT_FILENAME,并且不要弄清PATH_INFO是什么。 有关PATH_INFO的更多信息,请参阅CGI规范。 将其设置为1将导致PHP CGI修复其路径以符合规范。 设置为零会导致PHP的行为像以前一样。 默认情况下打开。 您应该修复脚本以使用SCRIPT_FILENAME而不是PATH_TRANSLATED。

刚布了一套lnmp的环境,发现访问网站的时候总是显示

"Access to the script '/vagrant/php/new/public' has been denied (see security.limit_extensions)" while reading response header from upstream, client: 192.168.33.1, server: www.new.com, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.new.com"

然后将php-fpm的limit_extensions设置为不限制,又显示

"PHP message: PHP Warning:  Unknown: failed to open stream: Success in Unknown on line 0
Unable to open primary script: /vagrant/php/new/public (Success)" while reading response header from upstream, client: 192.168.33.1, server: www.new.com, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.new.com:8080"

后来才想起来,php.ini中有个设置cgi.fix_pathinfo不打开,nginx是解析不了路径的

location ~ \.php(.*)$ {fastcgi_pass    phpbackend;fastcgi_index   index.php;#先加载默认,后解析赋值include fastcgi_params;#正则解析路由fastcgi_split_path_info ^(.+\.php)(/?.+)$;fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param   PATH_INFO $fastcgi_script_name;}

php的cgi.fix_pathinfo解析相关推荐

  1. php cgi路径解析,php.ini中的cgi.fix_pathinfo选项

    PHP里经常要获取当前请求的URL路径信息.一般可以通过环境变量$_SERVER['PATH_INFO']获取,而配置文件中的cgi.fix_pathinifo选项则与这个值的获取相关.而$_SERV ...

  2. php.ini中的cgi.fix_pathinfo选项

    PHP里经常要获取当前请求的URL路径信息.一般可以通过环境变量$_SERVER['PATH_INFO']获取,而配置文件中的cgi.fix_pathinifo选项则与这个值的获取相关.而$_SERV ...

  3. windos php7 fast cgi,FAST-CGI解析漏洞拿下网站并提权windows系统服务器

    作为一个懒散的人,我比较喜欢关注网上发布的漏洞.利用最新的漏洞可以比较简单的得到webshell,然后利用webshell提权拿下服务器,这个是我最喜欢的.有一个很有意思的娱乐网站,我经常登陆浏览,以 ...

  4. Nginx(十九)nginx配置php

    一   了解的基础知识 1) nginx'本身不能'处理PHP,它只是个'web服务器-->只能处理静态请求',当接收到请求后,如果是php请求,则'发给php解释器处理',并把结果返回给'we ...

  5. PHP CGI 中 fix_pathinfo 引起的安全隐患

    这两天网上开始疯传一个"nginx文件类型错误解析漏洞",这个"漏洞"是这样的: 假设有如下的 URL:http://phpvim.net/foo.jpg,当访 ...

  6. IIS6.0,Apache低版本,PHP CGI 解析漏洞

    IIS6.0解析漏洞 在IIS6.0下存在这样的文件"名字.asp;名字.jpg" 代表了jpg文件可以以asp脚本类型的文件执行. 根据这个解析漏洞我们可以上传这种名字类型的图片 ...

  7. Nginx + PHP CGI的fix_pathinfo安全漏洞

    具体的重现过程,用php代码修改后缀名后上传,比如说http://www.xx.com/1.jpg,访问的时候用http://www.xx.com/1.jpg/xxx.php 复制代码 这段jpg代码 ...

  8. C语言cgi解析上传文件的本地测试

    首先用浏览器提交提交一个multipart/form-data类型的数据包到本地服务器,随便用什么脚本写个接受数据包的程序,保存数据包到文件,数据包的格式大概就是这样: ------WebKitFor ...

  9. iis+php解析漏洞修复,IIS7.0畸形解析漏洞通杀0day

    IIS7.0畸形解析0day通杀漏洞,和Nginx上次的0day一样.使用iis7.0的注意了.临时解决办法:关闭cgi.fix_pathinfo为0 Nginx好像又爆0day了,windows下可 ...

最新文章

  1. C# 如何创建Excel多级分组
  2. CSS实用方法 —— 三角形的编写
  3. 普通(实例)方法和实例方法的定义和调用
  4. mysql 郝朝阳_秒级故障切换!用MHA轻松实现MySQL高可用(三)
  5. scala语言+Spark学习一箩筐
  6. 嵌入式系统功能需求分析_机械管理系统如何物料需求分析
  7. CodeDom六--实体类生成示例
  8. 5个月自学,零基础至日语2级全攻略
  9. java 加法 溢出_关于数字:Java 8 Unsigned Integer加法和潜在的溢出
  10. windows api中定义的基本数据类型简介(转)
  11. 利用IP标准访问列表进行网络流量的控制
  12. 使用MySQL8.0以上版本和MySQL驱动包8.0以上出现的问题
  13. 安装AD域时先决条件不通过
  14. OracleDataAdapter.Fill()处于无限等待中 【已解决】
  15. 2021年施工升降机司机(建筑特殊工种)考试题及施工升降机司机(建筑特殊工种)找解析
  16. Cesium基础-表面面积量算(依地形量算、依模型表面量算)
  17. shell学习杂记(-)
  18. 会声会影2022永久免费版新手小白必备视频剪辑工具
  19. html英文ppt,这20款PPT英文字体,看似普通,设计的页面太酷了!
  20. 爱好和兴趣爱好和兴趣

热门文章

  1. ActionScript 基础
  2. 利用openpyxl为工作表指定区域添加外边框
  3. 模板测试(Stencil Test)的基础知识
  4. html svg 颜色,通过css改变svg img的颜色
  5. Meteor:前后端数据协作机制
  6. 我的世界无限贪婪服务器,【游戏技巧】无尽贪婪
  7. 关于从主机无法复制文件到虚拟机的命令解决方案
  8. 小红书笔记权重规则:小红书笔记权重和什么有关?
  9. css_跳动的心制作过程
  10. python3自动读取QQ邮箱的附件 脚本