iis、apache与nginx禁止目录执行asp、php脚本的实现方法

 更新时间:2011年11月29日 16:14:03   投稿:mdxy-dxy  
为了网站安全,很多图片上传目录等不需要执行脚本的目录我们可以通过下面的方法禁止执行脚本。

一般iis中比较简单,iis6如下图所示即可:

很多购买虚拟主机空间的用户,如果空间商提供了在线管理程序,也可以实现。具体的看下帮助即可。
需要知道目录名称,设置即可。

iis7+禁止执行php等
IIS7也类似于IIS6.0,选择站点对应的目录,data、uploads及静态html文件目录,双击功能试图面板中的“处理程序映射”(如图2)

在“编辑功能权限……”中,我们直接去除脚本的执行权限即可。(如图3)



apache中一般是通过.htaccess文件来限制
Apache环境规则内容如下:Apache执行php脚本限制 把这些规则添加到.htaccess文件中

复制代码 代码如下:

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

以Apache 模块方式运行 PHP,你可以在vhosts配置文件中添加如下代码:

禁止upload目录执行php文件权限

<Directory /www/www.jb51.net/upload>
php_flag engine off
</Directory>
<Directory ~ "^/www/.*/upload">
 <Files ~ ".php">
 Order allow,deny
 Deny from all
 </Files>
</Directory>

nginx环境规则内容如下:nginx执行php脚本限制

LNMP有一个缺点就是目录权限设置上不如Apache,有时候网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险。建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误。

首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加:

复制代码 代码如下:

location ~ /(data|uploads|templets)/.*\.(php|php5)?$ {
deny all;
}

下面是补充:

以下配置均在nginx配置的server处添加

复制代码 代码如下:

location ~ /attachments/.*\.(php|php5)?$ {
deny all;
}

禁止attachments目录执行php文件权限

2、多个目录

复制代码 代码如下:

location ~ /(attachments|upload)/.*\.(php|php5)?$ {
deny all;
}

禁止attachments与upload目录执行php文件权限

配置完后,重新reload nginx即可。
好了就这些吧,做了这些应该不会有什么问题基本够用!

相关文章

  • yum 命令使用讲解

    yum 命令使用讲解

    这篇文章主要介绍了yum 命令使用讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Linux下设置Vim编辑器里Tab的长度行号

    Linux下设置Vim编辑器里Tab的长度行号

    这篇文章主要介绍了Linux下设置Vim编辑器里Tab的长度行号 ,需要的朋友可以参考下
    2018-06-06
  • UBUNTU手动安装JDK的详细步骤

    UBUNTU手动安装JDK的详细步骤

    这篇文章主要介绍了UBUNTU手动安装JDK的详细步骤,大家参考使用吧
    2013-11-11
  • git拉源码maven构建后部署脚本详解

    git拉源码maven构建后部署脚本详解

    这篇文章主要介绍了git拉源码maven构建后部署脚本详解的相关资料,需要的朋友可以参考下
    2017-01-01
  • Linux中rsync命令使用方式

    Linux中rsync命令使用方式

    rsync是一款高效的文件同步工具,支持增量同步、远程同步、文件压缩、权限保留等功能,它可以用于本地或远程文件夹的同步,支持断点续传和排除规则,在本地模式下,可以通过cp命令替代,实现数据的增量备份,在远程模式下
    2025-01-01
  • 阿里云Centos6.X发邮件遇到的各种问题

    阿里云Centos6.X发邮件遇到的各种问题

    这两天用PHPMailer写了个发送邮件功能,在本地测试可以发送邮件,但是放到阿里云服务器缺发送不了,经过查询,最终解决了,把方法分享给大家
    2018-09-09
  • Ubuntu环境下使用G++编译CPP文件

    Ubuntu环境下使用G++编译CPP文件

    今天小编就为大家分享一篇关于Ubuntu环境下使用G++编译CPP文件,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • gdb调试中设置监控点watch,rwatch,awatch的区别及说明

    gdb调试中设置监控点watch,rwatch,awatch的区别及说明

    这篇文章主要介绍了gdb调试中设置监控点watch,rwatch,awatch的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • win10系统下安装superset的步骤

    win10系统下安装superset的步骤

    这篇文章主要介绍了win10系统下安装superset的步骤,本文是基于python3.7 win10 64位下的环境安装,需要的朋友可以参考下
    2019-12-12
  • Windows操作系统下Linux虚拟机的安装与配置教程图解

    Windows操作系统下Linux虚拟机的安装与配置教程图解

    这篇文章主要介绍了Windows操作系统下Linux虚拟机的安装与配置,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10

最新评论