导航
当前位置:网站首页 > 站长新闻 > CMS教程 > 织梦安全设置及网站安全汇总教程

织梦安全设置及网站安全汇总教程

作者:达特 日期:2023-05-16 分类:CMS教程

 有朋友的织梦DedeCMS后台程序被挂马,造成损失,就认为织梦安全性很低。说实话能被黑客看得上的网站其实做得还可以,垃圾站连我也不屑光顾。其实只要积累经验,就能让网站更安全,下面就来谈一谈具体的设置方法:
  后台密码设置要复杂
  管理员密码一定要长,字母与数字混合,不要用admin。系统数据库存储的密码是MD5的,一般HACK就算通过注入拿到了MD5的密码,如果你的密码够严谨,对方也逆转不过来。
  删除不需要的目录
  不需要的功能一律删除,如不需要会员功能就将member文件夹删除,删除多余组件是避免被HACK注射的最佳办法。将每个目录添加空的index.html,防止目录被访问。
可删除目录列表:
  member会员功能
  special专题功能
  install安装程序(必删)
  company企业模块
  /plus/guestbook留言板
以及其他模块一般用不上的都可以不安装或删除。
  删除不需要的文件
  /dede/file_manage_control.php
  /dede/file_manage_main.php
  /dede/file_manage_view.php
  /dede/media_add.php
  /dede/media_edit.php
  /dede/media_main.php
  这些文件是后台文件管理器,一般用不上统统删除,要管理文件夹尽量到FTP。
不需要SQL命令运行器的将下面文件删除。
  /dede/sys_sql_query.php
  不需要tag功能请删除:
  /tag.php
  不需要顶客请删除:
  /plus/digg.php
  /plus/diggindex.php
修改配置
  为了防止HACK利用发布文档、上传木马,请安装完成后阻止上传PHP代码。到此基本堵上了所有上传与编辑木马的可能性,附带简单方法。
  打开include/config_base.php,找到
1 Copy code//禁止用户提交某些特殊变量
2   $ckvs = Array('_GET','_POST','_COOKIE','_FILES');
3   foreach($ckvs as $ckv){
4   if(is_array($$ckv)){
5   foreach($$ckv AS $key => $value)
6   if(eregi("^(cfg_|globals)",$key)) unset(${$ckv}[$key]);
7   }
8   }
  改为下面代码
01 Copy code//把get、post、cookie里的<? 替换成
02   $ckvs = Array('_GET','_POST','_COOKIE');
03   foreach($ckvs as $ckv){
04   if(is_array($$ckv)){
05   foreach($$ckv AS $key => $value)
06   if(!empty($value)){
07   ${$ckv}[$key] = str_replace('<'.'?','&'.'lt;'.'?',$value);<>
08   ${$ckv}[$key] = str_replace('?'.'>','?'.'&'.'gt;',${$ckv}[$key]);
09   }
10   if(eregi("^cfg_|globals",$key)) unset(${$ckv}[$key]);
11   }
12   }
13   //检测上传的文件中是否有PHP代码,有直接退出处理
14   if (is_array($_FILES)) {
15   foreach($_FILES AS $name => $value){
16   ${$name} = $value['tmp_name'];
17   $fp = @fopen(${$name},'r');
18   $fstr = @fread($fp,filesize(${$name}));
19   @fclose($fp);
20   if($fstr!='' && ereg("<\?",$fstr)){<>
21   echo "你上传的文件中含有危险内容,程序终止处理!";
22   exit();
23   }
24   }
25   }
   目录重命名 虚拟主机注意事项
  管理目录/dede务必重命名,而且要像密码一样复杂才最好。
  补丁升级
  DedeCMS更新频率不高,但是如果有更新一定用最新的,如果已经做了二次开发的,先备份数据库,再仔细对比手动覆盖安装。

猜你还喜欢