DedeCms 万能安全防护代码

softyun3年前cms教程146

为了让大家的CMS更安全,有需要的手工在config_base.php里加上
打开
config_base.php
找到
//禁止用户提交某些特殊变量
$ckvs = Array('_GET','_POST','_COOKIE','_FILES');
foreach($ckvs as $ckv){
if(is_array($$ckv)){
foreach($$ckv AS $key => $value)
if(eregi("^(cfg_|globals)",$key)) unset(${$ckv}[$key]);
}
}

改为下面代码
//把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();
}
}
}

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

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

官方原帖:15538&2

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

织梦dedecms列表页标题显示分页的页数,有利于seo优化

织梦dedecms列表页标题显示分页的页数,有利于seo优化关于用织梦dedecms做的网站,优化这块有个地方必须要注意一下,就是列表页,我们默认生成的每一页,他的标题、关键词、描述都是一样的,但是搜...

个人博客网站源码,织梦模板(自适应手机端)+PC+wap+利于SEO优化

个人博客网站源码,织梦模板(自适应手机端)+PC+wap+利于SEO优化一款不错的个人博客网站源码,php+mysql,织梦cms模板,自适应手机端,非常利于PC端和移动端SEO优化。该模板属于个人博...

DedeCms教程:投票模块插件使用说明

织梦内容管理系统投票插件伴随着DEDECMS的成长,变得越来越方便使用。在DedeCMSv5.7系统中,投票插件可以轻松插入到每一篇文档里,使用更加灵活。字体设计教程 一、投票插件的安装ExtJS...

织梦dedecms列表list调用文章作者并指向个人主页链接

今天教大家一下织梦dedecms列表list调用文章作者并指向个人主页链接的方法。这个文章调用的方法是经过测试,确认可用的方法,大家可以尝试一下       指向后台管理的链接一般是<a hre...

织梦文章列表分页如何解决,以及分页标签详细解释

分享一下织梦文章列表分页该如何解决和分页标签的详细解释,希望对你有所帮助织梦dedecms改版到5.3-5.5 分页标签   {dede:pagelist listitem="info,index,e...

彩色热门tags,热门关键字代码,刷新一次变换一次,无需修改源码

此代码优点: ◎ 无需修改任何源文件 ◎ CSS+JS文件控制,简单更容易! ◎ 随心所欲,想变多少颜色就变多少颜色。 网页部分的代码如下:  <div>   <h2><...