最近在基于织梦CMS(dedecms)做公司网站,可以说改动不少,而其中最令我印象深刻的就是织梦的session。
自己想在前台页面限制一些用户的访问,且后台用户可以访问。必须验证织梦后台用户的登录,于是开始取织梦的session,但是一直没有取出值来,后来才发现原来织梦的session有这样一段代码
$sessSavePath = DEDEDATA."/sessions/";
if(is_writeable($sessSavePath) && is_readable($sessSavePath))
{
session_save_path($sessSavePath);
}
$sessSavePath就是织梦session的存放位置,这里有两点需要注意,一是session_start()必须放在这段代码之后,二是$sessSavePath不能是文件的相对路径或者绝对路径,只能是文件的存放路径如:F:\SESSION。
于是便顺利的取出了session值。
回过头来一想又有一个问题,而且是织梦的大问题,改过织梦程序的一定知道,代码如下:
function _RunMagicQuotes(&$svar)
{
if(!get_magic_quotes_gpc())
{
if( is_array($svar) )
{
foreach($svar as $_k => $_v) $svar[$_k] = _RunMagicQuotes($_v);
}
else
{
$svar = addslashes($svar);
}
}
return $svar;
}
if (!defined('DEDEREQUEST'))
{
//检查和注册外部提交的变量
foreach($_REQUEST as $_k=>$_v)
{
if( strlen($_k)>0 && preg_match('/^(cfg_|GLOBALS)/',$_k) )
{
exit('Request var not allow!');
}
}
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);
}
}
一段接收变量的函数,不做详解了。如果不想的话,这段代码写的相当不错,但是如果考虑到安全性,绝对的有漏洞可寻。
如果我命名这样一个变量 _SESSION["dede_admin_id"]=1 ,如果这个变量被成功接收了,那么dede的任何防御都是那么的不堪一击。稍微看过dede后台登录程序的都知道这个是判断用户登录的session值,问题很严重。
所以错在哪里就在哪里做起,只需过滤掉接收变量的第一个"_"就可以了,那该怎么写呢,用正则呗,代码如下:
preg_replace("/^_/","",$_k)
OK搞定。
做了两个月的织梦,织梦程序做的不错,但是问题也不少。希望织梦能够越来越好了 !
分享到:
相关推荐
DEDE淘宝插件DEDE淘宝插件DEDE淘宝插件DEDDEDE淘宝插件E淘宝插件
dede标签大全_dede标签生成工具,DEDE仿站利器
织梦 dede 列表Pagelist 内容prenext 中英 首先需要找到安装目录下的include/arc.archives.class.php 注意是修改方法的参数,为其添加$pagelang个参数; 在页面中可以调用 {dede:prenext get='next' pagelang='...
dede中日期的调用 内容页 列表页 首页日期调用
delphi dede.5 delphi dede.5 delphi dede.5
想二次开发dede,拓展功能。自己在网上找了好多的帮助文档,感觉都不是很好。所以决定自己写个得的插件帮助教程。希望对大家有所帮助。
DEDE开发:DEDE栏目添加图片,简单方便仅需两步! 图集,相册封皮都可以用到!方便新手使用!
dede解决seo的自定义文章名称的url问题
dede后台登录界面 dede, dede后台,登录界面
DeDe3.50.04 Fix加强版 01.修改了Title和ClassName "DeDe"->"DarK",绝大部分的Anti检测都没有用了 02.DIY原DEDE,使得可以反汇编得到非标准程序的Forms格式和Procedures的事件 03.直接反汇编功能的选项 04.增加对特殊...
详情参见博客 --- dede织梦编辑器中插入mp4视频文件方法
ALTER TABLE `dede_arctype` ADD `arcpic` VARCHAR( 200 ) NULL 注意事项:如果你只给父栏目添加了图片,而子栏目想用父栏目图片请使用下面的方法调用: 复制代码 <img src="{dede:field.typeid runphp='yes'}...
dede中从两张表中查询会员并调用两张表中的字段,比如,年龄,生日,等等。
dede 织梦 站长 建站好帮手 让你轻松使用dede(织梦)中的标签搭建自己个性的网站
dede sql标签常用总结 标签使用技巧总结
DEDE凤舞模板DEDE凤舞模板DEDE凤舞模板DEDE凤舞模板
dede后台密码修改器 可以修改dede后台密码 织梦开发
delphi反编译工具 dede3.99,可提取源代码 支持win7 win8 win10 32-64位系统
dede礼品兑换插件让会员积分有地方花!欢迎下载!!
dede标签的使用,DEDE seo小技巧 加个百度搜索本篇文章