如何在Apache和Nginx禁止上传目录里PHP的执行权限

 更新时间:2016年10月05日 14:52:04   投稿:hebedich  
这篇文章主要介绍了如何在Apache和Nginx禁止上传目录里PHP的执行权限的具体方法,非常简单,有需要的小伙伴可以参考下

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

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

 Options FollowSymLinks
 AllowOverride None
 Order allow,deny
 Allow from all 
 php_flag engine off

另外一种方法,是设置在htaccess里面的,这个方法比较灵活一点,针对那些没有apapche安全操作权限的网站管理员:
Apache环境规则内容如下:Apache执行php脚本限制 把这些规则添加到.htaccess文件中
代码如下:

RewriteEngine on RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php)$ –[F]

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生效。

相关文章

  • Linux上创建、列出、删除Docker容器方法总结

    Linux上创建、列出、删除Docker容器方法总结

    在本篇文章中小编给大家整理了一篇关于Linux上创建、列出、删除Docker容器方法和技巧,需要的朋友们学习参考下。
    2019-03-03
  • Linux中修改mysql默认编码的方法步骤

    Linux中修改mysql默认编码的方法步骤

    今天小编就为大家分享一篇关于Linux中修改mysql默认编码的方法步骤,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 在 Linux 命令行中使用 tcpdump 抓包的一些功能

    在 Linux 命令行中使用 tcpdump 抓包的一些功能

    tcpdump 是一款灵活、功能强大的抓包工具,能有效地帮助排查网络故障问题。接下来通过本文给大家介绍在 Linux 命令行中使用 tcpdump 抓包的一些常用功能,需要的朋友参考下吧
    2018-11-11
  • Linux磁盘格式化命令详解

    Linux磁盘格式化命令详解

    这篇文章主要介绍了Linux磁盘格式化命令以及具体操作步骤,需要的朋友参考一下吧。
    2017-11-11
  • Linux的文件存取权限和0644权限问题

    Linux的文件存取权限和0644权限问题

    这篇文章主要介绍了Linux的文件存取权限和0644权限问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别)

    Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别)

    这篇文章主要介绍了Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Linux文件系统之重定向的实现原理详解

    Linux文件系统之重定向的实现原理详解

    在Linux中,重定向是一种用于控制输入和输出流的机制,通过重定向,可以将命令的输入和输出重定向到文件、设备或其他命令中,本文将详细的给大家讲解一下Linux重定向的实现原理,需要的朋友可以参考下
    2024-02-02
  • Linux基础之正则表达式,用户、组管理命令介绍

    Linux基础之正则表达式,用户、组管理命令介绍

    正则表达式简单来说就是一种行字符串处理的方式,通过一些特殊符号的辅助,可达到搜索、删除、替换等某些特定字符串的处理方式
    2016-10-10
  • httpd.conf 二级域名设置方法

    httpd.conf 二级域名设置方法

    首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com 其次,在 httpd.conf 中打开 mod_rewrite
    2009-02-02
  • linux中xargs命令的各种使用技巧

    linux中xargs命令的各种使用技巧

    xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。下面这篇文章主要给大家介绍了关于linux中xargs命令用法的相关资料,需要的朋友可以参考借鉴,下面来跟着小编一起看看吧。
    2017-05-05

最新评论