• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DedeCms 万能安全防护代码
    POST TIME:2021-05-24 02:44
    为了让大家的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. }
    9.  

    改为下面代码
    复制代码
    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. }
    26.  


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

    考虑到dede如果出现问题把损失减到最小,原本在高级支持区发的内容转移给大家共享
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!