Encoding js cookie编码的值与php setcookie编码的值不同
当我用这个创建cookie时 这是我的crypt变量内容Encoding js cookie编码的值与php setcookie编码的值不同,encoding,setcookie,js-cookie,Encoding,Setcookie,Js Cookie,当我用这个创建cookie时 这是我的crypt变量内容 s192aBszcV7NPrR8KpQbl4u/hkOOmMBzPg2mAhGlZB1/nAcus=0 然后使用js cookie设置cookie Cookies.set('_siteauth',crypt, { expires: 1, path: '/' }); 这是js设置cookie值 s192aBszcV7NPrR8KpQbl4u/hkOOmMBzPg2mAhGlZB1/nAcus=0 因此,如果我使用php s
s192aBszcV7NPrR8KpQbl4u/hkOOmMBzPg2mAhGlZB1/nAcus=0
然后使用
js cookie
设置cookie
Cookies.set('_siteauth',crypt, {
expires: 1,
path: '/'
});
这是js设置cookie值
s192aBszcV7NPrR8KpQbl4u/hkOOmMBzPg2mAhGlZB1/nAcus=0
因此,如果我使用php setcookie设置相同的var
setcookie('_siteauth', $crypt, time() + 86400, '/');
cookie的值如下
s192aBszcV7NPrR8KpQbl4u%2FhkOOmMBzPg2mAhGlZB1%2FnAcus%3D
我希望cookie值应该是这样的。编码的
但是
js cookie
关于编码的文档说明了这一点,我很惊讶set js cookie的值根本没有被编码
有人能解释一下吗,或者我在js cookie
插件中遗漏了什么吗?正如上面所说:
这个项目是合规的。cookie名称或cookie值中不允许的所有特殊字符都使用每个字符的UTF-8十六进制等效值进行编码
[……]
请注意,默认编码/解码策略意味着可互操作。要覆盖默认的编码/解码策略,您需要使用
(我的重点。)
根据,cookie值可以包含集合!#$%&'中的任何字符()*+-./:?@[]^{{124;}
以及数字(0-9
)和字母(a-zA-Z
)
请注意,/
和=
都是cookie值中的有效字符
此外,未指定编码或转义机制:
本文档未定义cookie值的语义
为了最大限度地与用户代理、希望
将任意数据存储在cookie中,例如,值应该对该数据进行编码
例如,使用Base64[]
对cookie值使用百分比编码是不标准的。不同的库为cookie值提供不同的编码方案也就不足为奇了。特别是,JSCookie的设计不是为了与任何编码方案兼容,而是为了与自己的编码方案兼容