在nginx中阻止apc.php文件

时间:2013-07-24 23:15:12

标签: php nginx nginx-location

我正在尝试阻止我的网络服务器上的apc.php文件。如果执行以下操作它可以工作,但我认为有更好的方法来执行此操作并将deny / allow规则放在一般位置〜.php $ block下面。使用fastcgi params必须有两个块似乎是正确的。

#Block to apc.php
location ~ /apc.php {

    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;

    allow 192.168.3.0/24;
    deny all;
}

# use fastcgi for all php files
location ~ \.php$
{
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

1 个答案:

答案 0 :(得分:0)

因为" deny"在if语句中不允许,您可以使用location / { location /uri/ {} }之类的嵌套位置,但是,在Nginx手册中不鼓励它:

  

"虽然配置文件解析器允许嵌套位置,   不鼓励使用它们,可能会产生意想不到的结果。"