徐小花

IE无法设置短域名cookie的bug

之前给学校的网站买了一个短域名,然后在制作网站的过程中,发现了IE的这个bug。
询问了叶军@cuteyejun老师和speedphpjake,貌似都没有办法解决。

这个bug的具体情况是如果你的域名长度不大于5字节(包括.号),如ab.cd、a.bc,那么PHP就无法在IE下设置带有域名参数的cookie,如:

setcookie('Fuck_IE','cao2',-86400,"/",".ab.cd");

需要去掉域名参数,才能设置cookie,如:

setcookie('Fuck_IE','cao2',-86400);

不过这样就不能设置全域的cookie了,折中的办法是,利用session传递信息,设置cookie。
PS:JS同样有这个问题,也需要去除域名参数才可设置cookie。IE6到IE9都有这个bug

本文按照署名-非商业3.0协议发布 发布时间: 2011-04-02 标签:, ,