如何取消服务器/主机空间目录脚本的执行权限
2016-01-21 15:12
706 查看
网站安全中,对目录的执行权限是非常敏感的,一般来说,可以写入的目录是不能够拥有脚本的执行权限的,像DedeCMS系统,可写入的有两个目录data、uploads,data目录主要是基本配置文件和缓存数据,uploads则是附件上传保存的目录,本篇将针对不同服务器环境来介绍如何取消这两个目录的执行权限,当然我们也建议用户其他一些生成纯静态html的目录,拥有可写入权限的也统统去除执行权限,这样系统会更为安全。
(图1)
(图2)
在“编辑功能权限……”中,我们直接去除脚本的执行权限即可。(如图3)
(图3)
首先我们找到apache的配置文件httpd.conf,通常情况下,该配置文件在apache安装目录下的conf文件夹中(如图4)。
(图4)
打开httpd.conf文件,找到内容中如图5的位置:
(图5)
将需要限制执行脚本文件的目录配置添加到下方:
配置内容为:
配置内容中的DIR为需要限制执行脚本文件的目录,FilesMatch后的内容为需要限定的执行的脚本后缀名。例如:这里需要禁止测试站点uploads文件夹下的PHP,ASP,JSP脚本的运行,则进行如下图6配置:
(图6)
在配置完成后,重启一下apache,配置便生效!
在操作前,uploads文件夹下我新建了一个index.php文件,图7为未作配置前访问情况
(图7)
图8为重启apache后访问该页面的效果。
(图8)
规则内容如下:
针对uploads,data,templets 三个目录做了执行php脚本限制;
将如上内容存储至到.hatccess文件中,将该文件存放到你的站点根目录下,
这样,目录脚本的执行权限就控制好了,规则上传前后的效果同图7,图8。
http://help.dedecms.com/install-use/server/2011/1109/2124.html
Windows下的IIS
IIS6.0
打开IIS中站点,在站点uploads目录、data目录以及静态html生成目录点击右键,菜单中选择“属性”,在目录属性面板选择执行权限为“无”即可。(如图1)(图1)
IIS7
IIS7也类似于IIS6.0,选择站点对应的目录,data、uploads及静态html文件目录,双击功能试图面板中的“处理程序映射”(如图2)(图2)
在“编辑功能权限……”中,我们直接去除脚本的执行权限即可。(如图3)
(图3)
Apache下目录脚本的执行权限设置
独立主机配置
在Apache中,没有Windows 下IIS的图形管理界面,我们需要手工修改下apache的配置文件,来进行目录脚本的执行权限的设定。首先我们找到apache的配置文件httpd.conf,通常情况下,该配置文件在apache安装目录下的conf文件夹中(如图4)。
(图4)
打开httpd.conf文件,找到内容中如图5的位置:
(图5)
将需要限制执行脚本文件的目录配置添加到下方:
配置内容为:
1 | < Directory "DIR"> |
2 | < FilesMatch ".(php|asp|jsp)$"> |
3 | Deny from all |
4 | </ FilesMatch > |
5 | </ Directory > |
(图6)
在配置完成后,重启一下apache,配置便生效!
在操作前,uploads文件夹下我新建了一个index.php文件,图7为未作配置前访问情况
(图7)
图8为重启apache后访问该页面的效果。
(图8)
虚拟主机/空间配置
在配置前需要确认你的空间是否支持.htaccess和rewrite,该方法基于.htaccess文件中使用rewrite来达到禁止指定脚本的运行效果。规则内容如下:
1 | RewriteEngine on RewriteCond % !^$ |
2 | RewriteRule uploads/(.*).(php)$ – [F] |
3 | RewriteRule data/(.*).(php)$ – [F] |
4 | RewriteRule templets/(.*).(php)$ – [F] |
将如上内容存储至到.hatccess文件中,将该文件存放到你的站点根目录下,
这样,目录脚本的执行权限就控制好了,规则上传前后的效果同图7,图8。
http://help.dedecms.com/install-use/server/2011/1109/2124.html
相关文章推荐
- ftp-down.py――利用pexpect实现FTP下载文件
- SHELL _01
- mysql
- file-diff.py――文件对比,输出HTML文档
- atoi重写
- hdu 1233 ( 还是畅通工程 )
- 【C++】优先队列priority_queue
- Objective-C自定义UITabBar位置
- 生态链的设想和雷军的新国货理念
- 链表常见面试题二:约瑟夫环
- VirtualBox虚拟机快速入门(5):使用技巧【网络配置】
- Windbg调试.net程序(1)准备工作
- 2.8 The Object Model -- Enumerables
- C#delegate委托
- fabric-lnmp.py――利用fabric部署lnmp环境
- leetcode 之ugly number
- 学习笔记:HTML DOM(文档对象模型)
- fabric-file.py――利用fabric实现文件打包、上传和校验
- Java继承和多态===Java继承中方法的覆盖和重载
- Git远程版本回滚