求织梦万能防护代码,官方的版本太老

一飞 2014-06-03 02:57:28
http://bbs.dedecms.com/read.php?tid=15538这是官方提供的万能防护代码,可是,这是很老的版本了,5.7里压根没有config_base.php这个文件,100分,献上,或者更多
...全文
678 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2014-06-07
  • 打赏
  • 举报
回复
把 if(eregi("^cfg_|globals",$key)) unset(${$ckv}[$key]); 改成 if(preg_match("/^cfg_|globals/",$key)) unset(${$ckv}[$key]); 把 if($fstr!='' && ereg("<\?",$fstr)){ 改成 if($fstr!='' && preg_match("/<\?/",$fstr)){
一飞 2014-06-07
  • 打赏
  • 举报
回复
引用 7 楼 xuzuning 的回复:
1、你加在哪了?给出带路径路径文件名 2、你怎么加的?给出相关代码
<?php //把get、post、cookie里的<? 替换成 <? $ckvs = Array('_GET','_POST','_COOKIE'); foreach($ckvs as $ckv){   if(is_array($$ckv)){     foreach($$ckv AS $key => $value)       if(!empty($value)){         ${$ckv}[$key] = str_replace('<'.'?','&'.'lt;'.'?',$value);         ${$ckv}[$key] = str_replace('?'.'>','?'.'&'.'gt;',${$ckv}[$key]);       }       if(eregi("^cfg_|globals",$key)) unset(${$ckv}[$key]);   } } //检测上传的文件中是否有PHP代码,有直接退出处理 if (is_array($_FILES)) { foreach($_FILES AS $name => $value){   ${$name} = $value['tmp_name'];   $fp = @fopen(${$name},'r');   $fstr = @fread($fp,filesize(${$name}));   @fclose($fp);   if($fstr!='' && ereg("<\?",$fstr)){       echo "你上传的文件中含有危险内容,程序终止处理!";       exit();   } } } //下面是官方common.inc.php的所有内容,上面是我加的 //数据库连接信息 $cfg_dbhost = 'localhost'; $cfg_dbname = 'junjun'; $cfg_dbuser = 'root'; $cfg_dbpwd = ''; $cfg_dbprefix = 'dede_'; $cfg_db_language = 'utf8'; ?>
一飞 2014-06-07
  • 打赏
  • 举报
回复
<?php $ckvs = Array('_GET','_POST','_COOKIE'); foreach($ckvs as $ckv){   if(is_array($$ckv)){     foreach($$ckv AS $key => $value)       if(!empty($value)){         ${$ckv}[$key] = str_replace('<'.'?','&'.'lt;'.'?',$value);         ${$ckv}[$key] = str_replace('?'.'>','?'.'&'.'gt;',${$ckv}[$key]);       }       if(preg_match("/^cfg_|globals/",$key)) unset(${$ckv}[$key]);   } } //检测上传的文件中是否有PHP代码,有直接退出处理 if (is_array($_FILES)) { foreach($_FILES AS $name => $value){   ${$name} = $value['tmp_name'];   $fp = @fopen(${$name},'r');   $fstr = @fread($fp,filesize(${$name}));   @fclose($fp);   if($fstr!='' && preg_match("/<\?/",$fstr)){       echo "你上传的文件中含有危险内容,程序终止处理!";       exit();   } } } //数据库连接信息 $cfg_dbhost = 'localhost'; $cfg_dbname = 'dzsite'; $cfg_dbuser = 'root'; $cfg_dbpwd = ''; $cfg_dbprefix = 'dede_'; $cfg_db_language = 'utf8'; ?> 最后变成酱紫,后台打开一片空白呀
xuzuning 2014-06-06
  • 打赏
  • 举报
回复
1、你加在哪了?给出带路径路径文件名 2、你怎么加的?给出相关代码
一飞 2014-06-06
  • 打赏
  • 举报
回复
引用 4 楼 wander_wind 的回复:
[quote=引用 3 楼 yifeijava 的回复:] 是不是公共文件的意思,可以写到数据库文件里吗,比如common.inc.php
我看了这段代码是完全独立的,不光dede只要php程序都可以用,但是必须贴在处理用户提交数据之前 common.inc.php 贴在开头 应该没问题 [/quote] 加上去后,后台直接打不开啊,去掉就打开了...
一飞 2014-06-06
  • 打赏
  • 举报
回复
引用 4 楼 wander_wind 的回复:
[quote=引用 3 楼 yifeijava 的回复:] 是不是公共文件的意思,可以写到数据库文件里吗,比如common.inc.php
我看了这段代码是完全独立的,不光dede只要php程序都可以用,但是必须贴在处理用户提交数据之前 common.inc.php 贴在开头 应该没问题 [/quote] 用户提交?我是防止被挂马,网站做成后,想让网站不允许上传php文件,这样可以吗
智商众筹 2014-06-05
  • 打赏
  • 举报
回复
引用 3 楼 yifeijava 的回复:
是不是公共文件的意思,可以写到数据库文件里吗,比如common.inc.php
我看了这段代码是完全独立的,不光dede只要php程序都可以用,但是必须贴在处理用户提交数据之前 common.inc.php 贴在开头 应该没问题
一飞 2014-06-05
  • 打赏
  • 举报
回复
是不是公共文件的意思,可以写到数据库文件里吗,比如common.inc.php
智商众筹 2014-06-03
  • 打赏
  • 举报
回复
找到根目录index.php这种入口文件,或者每个入口都要引入的那个核心文件,贴在那里就行
mkkill19851208 2014-06-03
  • 打赏
  • 举报
回复
你是怎么发帖的。,。。为啥我发帖 不让我选板块 求救命啊

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧