zoukankan      html  css  js  c++  java
  • Thinkphp框架网站 nginx环境 访问页面access denied

    今日不熟一个tiinkphp框架网站的时候,由于服务器环境是centos6.5+nginx1.8,已经运行php商城项目很正常,

    本以为一切比较简单,直接新建了项目文件夹,xftp上传了程序,并配置nginx.conf文件,添加新的server块,

    绑定了子域名跟项目文件夹的关系,一开始访问是No input file specified页面报错,很显然是联想到是不是php文件

    解析不成功造成了,检查新添加的server块,一切配置正常,为发现明细错误,php引擎调用也是复制原来php项目的

    应该出不来问题的,就是这个问题上徘徊了很近,偶然发现网上这个问题其实狠毒,基本大概的都是修改php location

    的fastcgi_param 的值,并添加include fastcgi_param ,但是fastcgi_param的值的修改又有好几种说法,经过多次尝试之后

    修改如下:

    fastcgi_param  SCRIPT_FILENAME/data//wwwroot/default/victdo_ws/$fastcgi_script_name;
    include        fastcgi_params;

    reload配置文件,访问页面这次报错编程了access denied,访问被拒绝,查看了error日志没有发现错误提示,继续百度,

    最终发现thinkphp框架的网址需要修改php环境的一个参数,引起问题的原因可能是:ThinkPHPURL_MODEL问题导致ngnix解析问题。

    于是我是这样解决的:

    进入服务器,改php.ini文件。将cgi.fix_pathinfo的值改成1。重启php-fpm。

    结果终于访问正常了。解决问题。至此thinkphp框架的网站可以访问了,接下来研究了下cgi.fix_pathinfo

    似乎这个配置如果改成1形成一个上传漏洞,具体大家可以百度参考下,所以接下来我把nginx配置文件进一步修改

    修改为php文件在上传目录的执行,也就是如下代码:值得注意的是这个代码需要添加php文件解析location块之前,否则无效!

                    location ~ ^/public/.*.(php|php5)$
                    {
                            deny all;
                    }
  • 相关阅读:
    工作的本质是思考
    V8、JSCore、Hermes、QuickJS,hybrid开发JS引擎怎么选
    Aspects框架的源码解读及问题解析
    饿了么移动APP的架构演进
    关键字:客户端架构演进
    以小见大,见微知著——亿万级APP架构演进之路
    理解 Swift:ObjectiveC 的构建管道
    MMKV 组件现在开源了
    进阶:iOS 性能优化系列
    你如果无法度量它,就无法管理它
  • 原文地址:https://www.cnblogs.com/netsa/p/6741978.html
Copyright © 2011-2022 走看看