MENU

Typecho 中 cgi.fix_pathinfo 与 Nginx 的配置

July 2, 2017 • Read: 962 • 代码

之前不小心把站给搞挂了,正好看 32 位的系统不爽,索性重装一遍,用了 Oneinstack 的包,装好后发现 Tyepcho 要么报 Access denied,要么报 No input files,查了查说是将 PHP 的cgi.fix_pathinfo 改成 1 即可,但是改成 1 显然是有解析漏洞的,尝试寻找不改 php.ini 的解决方法。

将 Nginx 的 PHP 段改成如下形式

  location ~ [^/]\.php(/|$) {
    #fastcgi_pass remote_php_ip:9000;
    fastcgi_split_path_info ^(.+?.php)(/.*)$;
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
  }

添加 fastcgi_split_path_info ^(.+?.php)(/.*)$; 后即可由 Nginx 设置 PATH_INFO 值。

Tags: typecho, nginx, php
Archives QR Code
QR Code for this page
Tipping QR Code
Leave a Comment

已有 1 条评论
  1. 人类 人类

    cgi.fix_pathinfo 改成 1 解析漏洞 你试过没?低版本才有吧。