zoukankan      html  css  js  c++  java
  • Nginx/Apache下如何禁止指定目录运行PHP脚本

    下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限。

    • Apache下禁止指定目录运行PHP脚本

    在虚拟主机配置文件中增加php_flag engine off指令即可,配置如下

    "/website/uploads">  
      Options FollowSymLinks  
      AllowOverride None  
      Order allow,deny  
      Allow from all   
      php_flag engine off  
      

    • Nginx下禁止指定目录运行PHP脚本

    Nginx更简单,直接通过location条件匹配定位后进行权限禁止。

    在server配置段中增加如下的配置

    如果是单个目录

    location ~* ^/uploads/.*.(php|php5)$ 
    {  
    deny all; 
    }  

    如果是多个目录

    location ~* ^/(attachments|uploads)/.*.(php|php5)$ 

    deny all; 
    }  

    注意:这段配置文件一定要放在下面配置的前面才可以生效。

    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; 

    最后给一个完整的配置示例

    location ~ /mm/(data|uploads|templets)/*.(php)$ { 
    deny all; 

    location ~ .php$ { 
    try_files $uri /404.html; 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    include fastcgi_params; 

    配置完后记得重启Nginx生效。

  • 相关阅读:
    spring cloud 搭建(服务)
    spring cloud 搭建(配置中心)
    spring cloud 搭建(注册中心)
    spring cloud 搭建
    skywalking 配置和使用(windows)
    jenkins 发布报错
    web 显示 pdf
    springmvc Cacheable 不设置key
    iRed邮箱使用情况
    关闭SSL服务[iRedMail]
  • 原文地址:https://www.cnblogs.com/microtiger/p/7027549.html
Copyright © 2011-2022 走看看