DEDECMS安全设置 执行php脚本限制设置方法(iis6+iis7+apache+nginx)

所属分类: CMS教程 / dedecms 阅读数: 509
收藏 0 赞 0 分享

其实dedecms官方网站也给出了一些安全设置的参考,其实下面的文章都是根据这个而来,建议大家先看完这篇文章(https://www.jb51.net/cms/37479.html),再继续往下看:

首先:服务器安全设置之 IIS用户设置方法,其实各个网站独立用户才比较安全

网站安全中,对目录的执行权限是非常敏感的,一般来说,可以写入的目录是不能够拥有脚本的执行权限的,像DedeCMS系统,可写入的有两个目录data、uploads,data目录主要是基本配置文件和缓存数据,uploads则是附件上传保存的目录,本篇将针对不同服务器环境来介绍如何取消这两个目录的执行权限,当然我们也建议用户其他一些生成纯静态html的目录,拥有可写入权限的也统统去除执行权限,这样系统会更为安全。

Windows下的IIS IIS6.0
打开IIS中站点,在站点uploads目录、data目录以及静态html生成目录点击右键,菜单中选择“属性”,在目录属性面板选择执行权限为“无”即可。(如图1)


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

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

其实上面只是介绍了如果取消执行权限,根据官方的推荐还需要设置目录写权限的设置方法,这里脚本之家简单的介绍下
例如a目录,一般是生成静态页面用的,那么我们就需要服务器端设置(dederun是iis中运行网站匿名用户)


Apache下目录脚本的执行权限设置 独立主机配置
在Apache中,没有Windows 下IIS的图形管理界面,我们需要手工修改下apache的配置文件,来进行目录脚本的执行权限的设定。
首先我们找到apache的配置文件httpd.conf,通常情况下,该配置文件在apache安装目录下的conf文件夹中(如图4)。

(图4)

打开httpd.conf文件,找到内容中如图5的位置:

(图5)

 

将需要限制执行脚本文件的目录配置添加到下方:

配置内容为:


复制代码
代码如下:

<Directory "DIR">
<FilesMatch ".(php|asp|jsp)$">
Deny from all
</FilesMatch>
</Directory>


配置内容中的DIR为需要限制执行脚本文件的目录,FilesMatch后的内容为需要限定的执行的脚本后缀名。例如:这里需要禁止测试站点uploads文件夹下的PHP,ASP,JSP脚本的运行,则进行如下图6配置:

(图6)

 

在配置完成后,重启一下apache,配置便生效!
在操作前,uploads文件夹下我新建了一个index.php文件,图7为未作配置前访问情况

(图7)

图8为重启apache后访问该页面的效果。

(图8)

虚拟主机/空间配置


在配置前需要确认你的空间是否支持.htaccess和rewrite,该方法基于.htaccess文件中使用rewrite来达到禁止指定脚本的运行效果。
规则内容如下:


复制代码
代码如下:

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


针对uploads,data,templets 三个目录做了执行php脚本限制;
将如上内容存储至到.hatccess文件中,将该文件存放到你的站点根目录下,

这样,目录脚本的执行权限就控制好了,规则上传前后的效果同图7,图8。

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

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

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


代码如下:

复制代码
代码如下:

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

好了就这些吧,做了这些应该不会有什么问题基本够用!建议用dedecms的朋友花点时间去设置一下.

这里也推荐一篇视频教程,说的与设置都比较详细  DedeCMS目录安全设置教程For IIS 在线播放

dedecms 安全设置终极技巧补充(idc) https://www.jb51.net/cms/44986.html

如果上述设置不是很清楚的,可以到s.jb51.net寻求帮助,里面很多文章与软件都是精心整理的。

更多精彩内容其他人还在看

DedeCMS 5 .7 自定义表单制作和调用办法[图文]

在很多建站需求中,需要一些额外的表单供前台用户提交,以便于收集、统计、分析及处理更多的数据,比如:在线订单、在线报名等一些常见的互动应用
收藏 0 赞 0 分享

dedecms 添加字段后软件列表页无法调用软件大小问题的解决方法

最近做模版想在软件列表页(list_soft.htm)利用[field:softsize/]调用软件大小,才发现原来需要如果解决方法
收藏 0 赞 0 分享

织梦DedeCMS模板防盗的四种方法分享

织梦(DedeCMS)模板也是一种财富,不想自己辛辛苦苦做的模板被盗用,在互联网上出现一些和自己一模一样的网站,就需要做好模板防盗
收藏 0 赞 0 分享

dedecms TAG标签按栏目显示的方法

想让dedecms 的TAG标签按栏目显示
收藏 0 赞 0 分享

dedecms修改按tag标签显示全站相关内容的方法

本文简单的设置就可以把dedecms按tag标签显示全站相关内容
收藏 0 赞 0 分享

dedecms正文自动排版插件 伪原创站必备

为了节约时间,站长可以安装dedecms正文自动排版插件,通过该插件,所有的隐藏代码、链接代码、垃圾代码可以一并删除,统一文章格式,方便简单
收藏 0 赞 0 分享

织梦dedecms 提示 body has not allow words 问题解决

body has not allow words DEDE提示这个是什么意思呢
收藏 0 赞 0 分享

dedecms修改文章自动增加的起始ID从指定数字增加文章ID的方法

dedecms织梦文章系统修改文章自动增加的起始ID从指定数字增加文章ID的方法教给大家
收藏 0 赞 0 分享

dedecms V5.7修改表前缀的方法及出现不显示文章内容的解决方法

将下面的内容保存为 pre.bat 内容可以使用记事本批量替换成你的表前缀和想要改成的前缀. window下的ren命令是重命名的
收藏 0 赞 0 分享

织梦 DeDeCMS 添加自定义属性的方法(图文教程)

由于想在网站首页添加一个本站原创内容的版块.又没办法通过版块id来调用,把每篇原创文章添加副栏目又非常麻烦
收藏 0 赞 0 分享
查看更多