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

点评 :最近很多使用dedecms的站长都被被挂马,或种下后门,因为用的人多,研究的人也多防不胜防,所有dedecms安全设置就非常必要了,这篇文章是脚本之家根据网上多方资料整理而来,方便需要的朋友 其实dedecms官方网站也给出了一些安全设置的参考,其实下面
点评:最近很多使用dedecms的站长都被被挂马,或种下后门,因为用的人多,研究的人也多防不胜防,所有dedecms安全设置就非常必要了,这篇文章是跟版网模板根据网上多方资料整理而来,方便需要的朋友
 
 

其实dedecms官方网站也给出了一些安全设置的参考,其实下面的文章都是根据这个而来,再继续往下看:

首先:服务器安全设置之 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织梦默认的TAG标签不是很灵活。有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag=c,h),这样全站调用的时候更灵活。 全站调用TAG标签方法一般是: {dede:tag row='100' sort='new' getall='1'}a target="_blank
未审核文档的TAG会显示在TAG列表页面, 固然点击进入TAG时, 相关的未审核文章不会显示出来, 这样对用户体验是很不好的. DEDECMS暂时没有提供这个功能,所以要解决这个问题, 让DEDECMS不显示未审核文档的TAG, 就要修改TAG的显示库文件 tag.lib.php。 方法一 打
我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp
我们在用到织梦dedecms软件模型的时候,手动指定地址通常只能是引用其他网址或者链接,我们要实现直接选取站内的文件,这个要怎么操作呢?下面小编一步步为您解答,最终效果如下图所示: 实现教程 1、打开 /dede/templets/soft_add.htm 找到 input type=text
我们有时候需要对织梦文档的点击量进行批量维护,比如采集来的文章,点击量都为0,需要批量修改,可以用到如下方法1。 1、在数据库里运行下面的代码就可以了,文章的点击量变得随机从500到1000 UPDATE dede_archives SET click=FLOOR(500 + (RAND() * 1000))
用过dedecms的朋友都知道,织梦cms后台系统基本参数里是无法直接上传图片的,我们更换logo图只能到ftp里替换,非常的不方便,我们如果想直接在系统基本参数里上传,要怎么处理呢?在这里需要对代码进行修改,具体流程如下: 实现方法,打开/dede/templets/sy