网站安全中,对目录的执行权限是非常敏感的,一般来说,可以写入的目录是不能够拥有脚本的执行权限的,可写入的目录如: data、uploads,data目录主要是基本配置文件和缓存数据,uploads则是附件上传保存的目录,本篇将针对不同服务器环境来介绍如何取消这些目录的执行权限,当然我们也建议用户其他一些生成纯静态html的目录,拥有可写入权限的也统统去除执行权限,这样系统会更为安全。
1>IIS6
Windows下的IIS6.0取消网站目录脚本的执行权限
打开IIS中站点,在站点uploads目录、data目录以及静态html生成目录点击右键,菜单中选择“属性”,在目录属性面板选择执行权限为“无”即可。
2>IIS7
IIS7取消服务器网站目录脚本的执行权限
第一步呢,我们在IIS的左侧选中该目录,切换到功能视图
第二步呢,打开“处理程序映射”功能
第三步呢,打开右侧的“编辑功能权限”,将“脚本”这一项取消掉即可
限制IIS7的目录执行权限的本质,就是在编辑功能权限之后,会在所在目录建立一个web.config,通过里面的配置来限制该目录的权限,所以,当该目录已经有web.config的时候,建议先查看一下配置,然后在web.config下直接添加,添加代码下面的参考解决办法2。
设置时会遇到写入失败的情况,
解决方法是:
1、有可能是当前目录没有写入权限,添加写入权限即可.
2、你的当前的分区不是ntfs,解决方法,在当前目录手动创建一个web.config文件即可。
下面附上web.config的内容:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers accessPolicy="Read" /> </system.webServer> </configuration>
解释一下这里面要改的地方“<handlers accessPolicy="Read" />”,
如果想运行脚本, accessPolicy="Read, Script";
如果想执行脚本,accessPolicy="Read, Execute, Script" 。