您现在的位置: 万盛学电脑网 >> 程序编程 >> 服务器教程 >> 正文

nginx只允许执行php程序配置

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   方法一,nginx限制后缀

  解决办法:

 代码如下   location ~* .(txt|doc|sql|gz)$ {
  if (-f $request_filename) {  
         break;
      }
}

  上面代码限制了txt doc sql gz文件名后缀的不被访问,如果请求就跳出.

  当然如果还要更严格点的话,那也可以使用下面的:

 代码如下   location ~* .(txt|doc|sql|gz)$ {
   deny all;
}

  这样就完全禁止访问txt doc sql gz文件后缀.看大家自己的选择了.

  方法二,今天我想到了另外一种限制的方法( 系统:centos 5.9 )

 代码如下  

server
{
    listen 80;
    server_name  www.111cn.net;
    root /var/www/vhosts/www.111cn.net;
    location /
    {
        index index.php;
        set $is_php 'no';
        if (!-f $request_filename ) {
            set $is_php 'yes';
        }
        if ($request_filename ~ (.php.*) ) {
            set $is_php 'yes';
        }
        if ($is_php ~ ^no$){
            return 404;
        }
    }
    access_log /var/log/www/blog.slogra.com.access.log;
}

  小结

  nginx如果不让php支持我们可以配置环境是不配置php环境即可了,这个比较好解决了,如果配置了php环境我们可以直接删除php环境即可。