您现在的位置: 主页 > 上位机技术 > PHP > DedeCms 万能安全防护代码
本文所属标签:
为本文创立个标签吧:

DedeCms 万能安全防护代码

来源:dedesos 网络用户发布,如有版权联系网管删除 2018-09-09 

DedeCms 万能安全防护代码

为了让大家的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.  



              查看评论 回复

游客   2018-09-10 08:43:05
dedecms 5.7找不到config_base.php文件了,哪里修改
1楼 回复本楼
匿名   2018-09-09 22:53:32
这个系统比较安全了,但是不能上传php文件了
2楼 回复本楼


嵌入式交流网主页 > 上位机技术 > PHP > DedeCms 万能安全防护代码
 

"DedeCms 万能安全防护代码"的相关文章

网站地图

围观()