织梦DedeCMS的cookie存储分析
2016-03-21 10:49
316 查看
织梦DedeCMS的cookie存储分析
dedecms的cookie设置特别有意思,我们通常都是直接重写cookie。最多也就是用key/val的键/值对的形式来做。但是我们看dede,不但重写了cookie的写如,读取,删除,而且还对cookie做了必要的验证。首先我们看dedecms的cookie写入。
function PutCookie($key, $value, $kptime=0, $pa="/")
{
global $cfg_cookie_encode,$cfg_domain_cookie;
setcookie($key, $value, time()+$kptime, $pa,$cfg_domain_cookie);
setcookie($key.'__ckMd5', substr(md5($cfg_cookie_encode.$value),0,16), time()+$kptime, $pa,$cfg_domain_cookie);
}
有一个$key是用来记录$key的值。一个是$key和一段字符组成的串,通过md5之后截取部分,作为验证标记,之所以要做这个验证,是为了方式cookie被伪造而泄露数据。他是通过该cookie要记录的值和一个密钥来组成的。
然后看dedecms的cookie读出。
function GetCookie($key)
{
global $cfg_cookie_encode;
if( !isset($_COOKIE[$key]) || !isset($_COOKIE[$key.'__ckMd5']) )
{
return '';
}
else
{
if($_COOKIE[$key.'__ckMd5']!=substr(md5($cfg_cookie_encode.$_COOKIE[$key]),0,16))
{
return '';
}
else
{
return $_COOKIE[$key];
}
}
}
相关文章推荐
- dede5.7管理后台自动超时时间设置
- dede开启会员功能
- 网页木马是什么原理?
- 织梦dedecms增加栏目缩略图功能
- dede给栏目添加缩略图-这个是最正确的,经过验证过的
- echoshop支付宝错误代码 ILLEGAL_PARTNER 调试错误,请回到请求来源地,重新发起请求
- dede内容页调用图片集下所有图片方法!
- background -- 五个背景属性可以全部在此定义
- CSS的鼠标手势实现
- 怎么用硬盘安装xp系统
- React ajax
- 关于逻辑判断
- Ajax的几个状态 2010年5月18日
- Java运算符
- 新技术总结和拓展
- 世界上最健康的作息时间表
- git简易教程一,本地命令
- 24. Swap Nodes in Pairs
- 216. Combination Sum III
- 一个页面里多组多选框的全选