您好,欢迎来到菜鸟吧源码网(www.cniao8.com)本站只做精品网站源码!
  • 首 页
  • 菜鸟云
  • 公告:本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > dede教程 >
    DedeCms 万能安全防护代码
    时间:2020-02-20 12:11 作者:菜鸟吧 浏览:收藏 挑错 打印

    为了让大家的CMS更安全,有需要的手工在config_base.php里加上
    打开
    config_base.php
    找到

    复制代码
    1. //禁止用户提交某些特殊变量

    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. }



    改为下面代码
    复制代码
    1. //把get、post、cookie里的<? 替换成 <?

    2. $ckvs = Array('_GET','_POST','_COOKIE');

    3. foreach($ckvs as $ckv){

    4.  if(is_array($$ckv)){

    5.    foreach($$ckv AS $key => $value)

    6.      if(!empty($value)){

    7.        ${$ckv}[$key] = str_replace('<'.'?','&'.'lt;'.'?',$value);

    8.        ${$ckv}[$key] = str_replace('?'.'>','?'.'&'.'gt;',${$ckv}[$key]);

    9.      }

    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. }




    这样处理之后,安全上理论上可中做到一劳永逸,但缺点是使用此功能后,不能在线上传PHP文件,如果你的站点同时支持asp、aspx等,在此基础上修改一下上述代码即可

    考虑到dede如果出现问题把损失减到最小,原本在高级支持区发的内容转移给大家共享

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:admin@cniao8.com,我们尽快处理。

    织梦中{dede:channel}无法调用隐藏栏目解决方法织梦中{dede:channel}无法调用隐藏栏目
    DEDECMS批量导入excel数据到后台文章系统的开发教程DEDECMS批量导入excel数据到后台文章系
    织梦58织梦模板加固版教程详解织梦58织梦模板加固版教程详解