亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

Nginx(PHP/fastcgi)的PATH_INFO問題

2024-08-30 12:27:18
字體:
來源:轉載
供稿:網友
在Apache中, 當不加配置的時候, 對于PHP腳本, AcceptPathInfo是默認接受的, 也就是說:

如果在服務器在存在一個/laruence/index.php

那么, 對于如下請求,
代碼如下:
/laruence/index.php/dummy
/laruence/dumm

Apache都接受, 都會認為是對info.php的訪問, 并會設置PATH_INFO為dummy

而對于Nginx下, 是不支持PATH INFO的, 也就是它不會默認設置PATH_INFO.

而因為默認的配置文件對PHP的支持只是很基礎的, 所以對于默認配置來說對于上面的訪問也會是404, 提示找不到文件出錯.

這對于一些使用PATH_INFO來傳遞關鍵信息的PHP框架來說(比如Kohana, Thinkphp), 簡直是致命的.

對于這個問題, 一般來說有倆種解決方法, 第一種就是使用rewrite, 但是這個方法的缺點也是很明顯的, 需要把PATH_INFO轉換成Query String. 此處就不說明這種方法了~

而, 第二種方法就是我今天要提的, 模擬PATH_INFO:

首先 , 我們知道在Nginx中, 是通過對文件名的擴展名匹配, 來決定是否要交給php cgi服務器去解釋的. 在nginx.conf中一般都有如下的默認配置段:
代碼如下:
location ~ .php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;

所以,對于形如/laruence/info.php/pathinfo這樣的文件路徑, Nginx是不會正確的交給php cgi服務器的. 所以我們需要改寫這段配置為:
代碼如下:
location ~ .php {//片段匹配
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;

現在, 腳本路徑已經交由PHP自己處理了. 那怎么增加PATH_INFO呢?

首先, 我們需要打開PHP中cgi.fix_pathinfo配置項, 打開這個配置項以后, PHP會去根據CGI規范來檢查SCRIPT_FILENAME中那部分是訪問腳本和PATH_INFO(ini配置解釋), 并根據SCRIPT_NAME來修改PATH_INFO(和PATH_TRANSLATED)為正確的值(其實也就是說明, PHP最初對CGI 1.1的支持并不到位)

然后, 就只要添加一個FASTCGI_PARAM項就好了:
代碼如下:
location ~ .php {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;

現在試試吧…

btw: 當然, 上面的解決方法, 把對路徑的分析交給了PHP去處理, 網上也有朋友給出了另外一種配置方法, 這個方法是由Nginx來分析路徑(也就不需要fix_pathinfo):
代碼如下:
location ~ /.php
{
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?/.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME /var/html/$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;

后記, 最近發現的一個安全漏洞(Nginx + PHP CGI的一個可能的安全漏洞)和這個配置有關系, 請大家務必在使用第二種配置的時候,關閉cgi.fix_pathinfo. 另外關于這個漏洞我個人認為這個和Nginx沒啥關系, 不屬于Nginx的漏洞. 是配置的問題, 現在到處都在說是Nginx的Bug, 不妥不妥.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
伊人久久男人天堂| 日韩精品免费电影| 久久99国产精品自在自在app| 欧美视频中文字幕在线| 92福利视频午夜1000合集在线观看| 91情侣偷在线精品国产| 国产亚洲a∨片在线观看| 亚洲美女av在线| 欧美成人午夜剧场免费观看| 国产一区二区成人| 欧美激情精品久久久久| 日韩av网址在线| 97av视频在线| 成人h猎奇视频网站| 在线播放国产一区中文字幕剧情欧美| xvideos亚洲人网站| 国产精品久久久久7777婷婷| www.xxxx欧美| 91精品国产综合久久男男| 国产日韩欧美在线| 日本中文字幕久久看| 91精品视频在线看| 亚洲最新av在线| 2021久久精品国产99国产精品| 日韩欧美在线免费| 亚洲精品自拍视频| 精品久久久香蕉免费精品视频| 亚洲丝袜一区在线| 国产成人一区二区三区电影| 另类色图亚洲色图| 日韩美女福利视频| 欧美亚洲激情视频| 亚洲一区二区三区视频| 国产精品色视频| 欧美一级bbbbb性bbbb喷潮片| 欧美性在线视频| 在线观看视频99| 日韩一中文字幕| 日韩视频免费中文字幕| 亚洲香蕉成人av网站在线观看| 亚洲三级 欧美三级| 国产精品1区2区在线观看| 欧美精品电影免费在线观看| 精品国产网站地址| 91精品久久久久久久久久久久久| 日韩专区中文字幕| 日韩中文字幕免费| 精品一区二区三区四区| 97热在线精品视频在线观看| 午夜精品久久久久久久久久久久| 日韩欧美一区二区在线| 免费97视频在线精品国自产拍| 亚洲精品美女视频| 国产亚洲免费的视频看| 亚洲香蕉成人av网站在线观看| 日韩av网址在线观看| 97国产精品视频| 久久99视频免费| 亚洲成av人乱码色午夜| 亚洲的天堂在线中文字幕| 色综合久久中文字幕综合网小说| 欧美日本高清视频| 91深夜福利视频| 韩国精品久久久999| 亚洲石原莉奈一区二区在线观看| 亚洲第一福利网站| 国产欧美日韩精品专区| 浅井舞香一区二区| 国产午夜精品美女视频明星a级| 国产午夜精品久久久| 精品亚洲夜色av98在线观看| 欧美老女人xx| 久久久久久久久91| 亚洲精品永久免费精品| 81精品国产乱码久久久久久| 久久久久久久久久久网站| 久久这里只有精品99| 影音先锋欧美在线资源| 欧美大片在线免费观看| 欧美野外猛男的大粗鳮| www.亚洲人.com| 亚洲xxxx做受欧美| 91精品国产一区| 国产脚交av在线一区二区| 久久午夜a级毛片| 久久亚洲精品国产亚洲老地址| 国产精品草莓在线免费观看| 欧洲亚洲免费视频| 欧美激情精品久久久久| 久久精品夜夜夜夜夜久久| 操人视频在线观看欧美| 91精品久久久久久久久| 最近2019年日本中文免费字幕| 91九色视频在线| 欧美猛交ⅹxxx乱大交视频| 深夜福利国产精品| 国产精品久久久久久久久借妻| 亚洲黄色成人网| 亚洲日本中文字幕| 国产精品视频一区国模私拍| 51ⅴ精品国产91久久久久久| 国产精品福利小视频| 亚洲激情在线视频| 欧美激情视频三区| 国产日韩欧美视频| 亚洲色图偷窥自拍| 北条麻妃久久精品| 欧美极品少妇xxxxx| 亚洲乱码一区二区| 国产一区二区三区高清在线观看| 国产精品毛片a∨一区二区三区|国| 日韩国产一区三区| 欧美一级bbbbb性bbbb喷潮片| 久久精品欧美视频| 亚洲精品久久久久久久久久久| 久久国产精品影片| 欧美大片免费观看在线观看网站推荐| 亚洲色图13p| 国产在线视频2019最新视频| 色偷偷噜噜噜亚洲男人的天堂| 国产精品免费视频久久久| 欧美日韩中文字幕日韩欧美| 亚洲天天在线日亚洲洲精| 日韩av综合网| 91在线观看免费高清完整版在线观看| 成人免费在线视频网站| 一区二区欧美日韩视频| 国产精品亚洲激情| 国内精品模特av私拍在线观看| 色综合色综合网色综合| 亚洲福利精品在线| 久久久免费高清电视剧观看| 尤物九九久久国产精品的特点| 国模精品视频一区二区三区| 亚洲国产日韩欧美综合久久| 色狠狠av一区二区三区香蕉蜜桃| 国产一区二区欧美日韩| 一区二区三区高清国产| 韩国视频理论视频久久| 亚洲精品狠狠操| 欧美精品xxx| 日本欧美一二三区| 国产精品久久在线观看| 久久视频中文字幕| 久久视频在线视频| 日韩激情av在线免费观看| 搡老女人一区二区三区视频tv| 亚洲影影院av| 正在播放亚洲1区| 日韩av在线导航| 伊人青青综合网站| 91精品视频在线| 日韩精品极品在线观看播放免费视频| 91po在线观看91精品国产性色| 久久久久久999| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲欧美一区二区三区情侣bbw| 亚洲xxxx做受欧美| 久久久久99精品久久久久| 色吧影院999| 亚洲欧洲高清在线| 国产精品黄色av| 亚洲欧洲日产国码av系列天堂| 91九色国产社区在线观看|