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;
                    }
  • 相关阅读:
    正在呢 webflux
    reactive reactor
    从早上5:30开始整理资料
    1
    ES基础(四十七)第二部分总结与测验
    ES基础(四十六)Elasticsearch 数据建模最佳实践
    ES基础(四十四)Ingest Pipeline & Painless Script
    ES基础(四十三)Update by Query & Reindex
    ES基础(四十二)文档的父子关系
    ES基础(四十一)对象及Nested对象
  • 原文地址:https://www.cnblogs.com/netsa/p/6741978.html
Copyright © 2011-2022 走看看