Php 饼干的解剖

Php 饼干的解剖,php,security,cookies,yii,Php,Security,Cookies,Yii,我对饼干不熟悉。试图了解用户登录时我的网站设置的此cookie的结构。我正在使用Yii在PHP中构建,我还在config中启用了cookie验证。只是想确定它是否正常工作(设置了HMACtoken)以及是否存在任何漏洞 dd3b7ffe10018a899b39986a9d94dfd3b64e7e4as:248:“05035a5ae619356a622ed6ed805b6695a4fd6c44a:4:{i:0;s:18:”mjkvj003@gmail.com“i:1;s:18:”mjkvj003@

我对饼干不熟悉。试图了解用户登录时我的网站设置的此cookie的结构。我正在使用Yii在PHP中构建,我还在config中启用了cookie验证。只是想确定它是否正常工作(设置了
HMAC
token)以及是否存在任何漏洞

dd3b7ffe10018a899b39986a9d94dfd3b64e7e4as:248:“05035a5ae619356a622ed6ed805b6695a4fd6c44a:4:{i:0;s:18:”mjkvj003@gmail.com“i:1;s:18:”mjkvj003@gmail.com“i:2;i:604800;i:3;a:4:{s:6:“用户ID”;s:2:“10”;s:8:“用户名”;s:18:”mjkvj003@gmail.com“s:4:”类型“;s:10:”诊断“;s:6:”状态“;s:7:”待定“}”

cookie名称本身是一个随机的32个字符的字母数字序列。我还有一个单独存储会话id的phpsession cookie。这里
mjkvj003@gmail.com
是用户名,类型和状态是与应用程序相关的变量。
我原以为cookies使用
=
赋值,但在这里我看到
正在使用。这是否正确?

这不是cookie的内容。它是PHP内容的序列化表示,通过调用该数组生成


cookie本身只包含会话id,它让PHP知道哪些序列化的会话数据要
取消序列化
,并作为
$\u会话
提供给脚本。

这不是cookie的内容。它是PHP内容的序列化表示,通过调用该数组生成


cookie本身只包含会话id,它让PHP知道哪些序列化的会话数据要
取消序列化
,并作为
$\u会话
提供给脚本。

第一行是Yii设置的HMAC令牌。翻阅框架文件,发现它们设置了令牌,还序列化了cookie数据

第一行是Yii设置的HMAC令牌。翻阅框架文件,发现它们设置了令牌,还序列化了cookie数据

那么“i”必须是数组索引吗?“a:4:”是指什么?在开始使用花括号之前,它已经使用了两次?
a:4
表示后面是一个包含4个元素的数组
i:0:s:18:“…”
表示数组的第一个元素有一个整数键
0
,其值是一个长度为18的字符串,包含以下内容,等等。所有这些都是
序列化的工作方式。使用
var\u dump
serialize
查看值如何映射到序列化表示。这解释了很多!!但我仍然不理解第一行,我的php会话Id与第一行中给出的字符串相差甚远。中间部分也有这样一个特殊的部分:I:2;i:604800;i:3;答:4:“@VarunJain:第一行写得没有意义,所以在某个地方出现了复制粘贴问题。其余请参考。我想第一行可能就是yii设置的HMAC令牌。谢谢你的时间和帮助!!那么“i”必须是数组索引吗?“a:4:”是指什么?在开始使用花括号之前,它已经使用了两次?
a:4
表示后面是一个包含4个元素的数组
i:0:s:18:“…”
表示数组的第一个元素有一个整数键
0
,其值是一个长度为18的字符串,包含以下内容,等等。所有这些都是
序列化的工作方式。使用
var\u dump
serialize
查看值如何映射到序列化表示。这解释了很多!!但我仍然不理解第一行,我的php会话Id与第一行中给出的字符串相差甚远。中间部分也有这样一个特殊的部分:I:2;i:604800;i:3;答:4:“@VarunJain:第一行写得没有意义,所以在某个地方出现了复制粘贴问题。其余请参考。我想第一行可能就是yii设置的HMAC令牌。谢谢你的时间和帮助!!