ecshop cls_session 迷惑

大脸猫脸大 2016-09-20 11:39:31


if ($this->session_id)
{
$tmp_session_id = substr($this->session_id, 0, 32);
if ($this->gen_session_key($tmp_session_id) == substr($this->session_id, 32))
{
$this->session_id = $tmp_session_id;
}
else
{
$this->session_id = '';
}
}



黑体部分 没看懂,怎么可能相等呢,gen_session_key 返回8位字符串,substr($this->session_id, 32) this->session_id 一般是32位,在从32位截取, 不就是空了吗 。 求大侠指点下。
...全文
170 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
大脸猫脸大 2016-09-21
  • 打赏
  • 举报
回复
原来在cookie中 是这样存的:
setcookie($this->session_name, $this->session_id . $this->gen_session_key($this->session_id), 0, $this->session_cookie_path, $this->session_cookie_domain, $this->session_cookie_secure);
以session_id . gen_session_key() 的形式存放的。
傲雪星枫 2016-09-20
  • 打赏
  • 举报
回复
$this->gen_session_key($tmp_session_id) substr($this->session_id, 32) 都打印出来看看就知道了。
大脸猫脸大 2016-09-20
  • 打赏
  • 举报
回复
== 左边 this->gen_sessi on_key($tmp_session_id) 返回的是8位字符串 == 右边 substr($this->session_id, 32) ,怎么把起始位置设为32了, session_id本来就32位,再从32位提取子字符串,那就是空啊。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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