PHP Cookie迷路了

时间:2011-03-22 08:13:23

标签: php wordpress cookies

我遇到这个奇怪的问题,我的cookie会以一种奇怪的方式迷失。我在wordpress上,当我点击页面时似乎保持了价值,但是当我在页面上插入帖子时,它会丢失cookie。

最奇怪的是它第一次没有松开它,但是如果我连续创建两个帖子,那么它将会松开它。

我已经阅读了很多关于刷新的内容,我把它们全部拿出来了,它仍然可以做到。我还读到有关wordpress不喜欢没有指定域名的cookie,所以我的cookie看起来像这样:

setcookie("auth", $cyph, time()+60*60*24*60, '/', '.domain.com');

其中$cyph是序列化数组(base64_encode(serialize($cyph));)。就像我说的那样,它保持了价值,直到我以某种方式与wordpress进行交互。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

  

其中$cyph是序列化数组(base64_encode(serialize($cyph));

糟糕!

从不向最终用户公开序列化数据。请参考this PDF presentation by PHP security expert Stefen Esser,从第28页开始。可以操作序列化数据,使得设计不佳的类可以允许任意代码执行等。

看起来您正在尝试存储身份验证令牌。请改为存储适当的哈希值。


关于实际的cookie设置程序,您使用的浏览器是什么?现代浏览器能够使用其开发人员工具检查HTTP标头的请求和响应。使用这些工具之一,应该很容易看出cookie是否正确设置。如果您使用Firefox,请安装Firebug。如果您使用Chrome,请使用扳手菜单=>工具=>开发者工具。