我遇到这个奇怪的问题,我的cookie会以一种奇怪的方式迷失。我在wordpress上,当我点击页面时似乎保持了价值,但是当我在页面上插入帖子时,它会丢失cookie。
最奇怪的是它第一次没有松开它,但是如果我连续创建两个帖子,那么它将会松开它。
我已经阅读了很多关于刷新的内容,我把它们全部拿出来了,它仍然可以做到。我还读到有关wordpress不喜欢没有指定域名的cookie,所以我的cookie看起来像这样:
setcookie("auth", $cyph, time()+60*60*24*60, '/', '.domain.com');
其中$cyph
是序列化数组(base64_encode(serialize($cyph));
)。就像我说的那样,它保持了价值,直到我以某种方式与wordpress进行交互。
有什么想法吗?
答案 0 :(得分:1)
其中
$cyph
是序列化数组(base64_encode(serialize($cyph));
)
从不向最终用户公开序列化数据。请参考this PDF presentation by PHP security expert Stefen Esser,从第28页开始。可以操作序列化数据,使得设计不佳的类可以允许任意代码执行等。
看起来您正在尝试存储身份验证令牌。请改为存储适当的哈希值。
关于实际的cookie设置程序,您使用的浏览器是什么?现代浏览器能够使用其开发人员工具检查HTTP标头的请求和响应。使用这些工具之一,应该很容易看出cookie是否正确设置。如果您使用Firefox,请安装Firebug。如果您使用Chrome,请使用扳手菜单=>工具=>开发者工具。