网站地图    收藏   

主页 > 系统 > linux系统 >

linux中nginx下禁止某目录执行php例子 - linux教程

来源:自学PHP网    时间:2014-11-28 23:06 作者: 阅读:

[导读] 以前我写过很多关于禁止执行php的文件,今天在查看一站长博客时发现它发了一文章就按要求设置之后所有目录的所有目录都不能执行了,所以我就来研究了一下,下面是解决办法.我们禁止...

linux中nginx下禁止某目录执行php例子

以前我写过很多关于禁止执行php的文件,今天在查看一站长博客时发现它发了一文章就按要求设置之后所有目录的所有目录都不能执行了,所以我就来研究了一下,下面是解决办法.

我们禁止整个站点不能执行php文件,代码如下:

  1. # location ~ ^/.*\.(php|php5)$ 
  2. # { 
  3. # fastcgi_pass 127.0.0.1:9000; 
  4. # fastcgi_index index.php; 
  5. # include fcgi.conf; 
  6. # deny all
  7. # } 

配置文件中加上这行!如果需要指定某个目录的话,在第一行location ~^/(目录|目录1)\.(php|php5)$有多个目录的时候可用|分开,禁止单目录,代码如下:

  1. location ~ /attachments/.*.(php|php5)?$ { 
  2. deny all
  3.  
  4. --禁止多目录: 
  5.  
  6. location ~ /(attachments|upload)/.*.(php|php5)?$ { 
  7. deny all

经测试貌似没用?会把目录内其他文件都屏蔽不能访问。比如upload里面的图片都不能访问了 这个是什么问题呢,再仔细看了一下发现原来是少了一个^号,太粗心了。

解决办法,禁止单目录,代码如下:

  1. location ~^ /attachments/.*.(php|php5)?$ { 
  2. deny all
  3.  
  4. --禁止多目录: 
  5.  
  6. location ~^ /(attachments|upload)/.*.(php|php5)?$ { 
  7. deny all;  --phpfensi.com 

这样就搞定了.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论