【发布时间】:2011-12-08 18:25:26
【问题描述】:
我遇到了 Cookie 最奇怪的问题。我编写了一些 PHP 脚本,使用令牌来识别访问者,以便“他/她”可以正确使用网站。
Token 系统在本地开发机器(windoze+ZendApache)上运行良好,但在 Bluehost 上的生产服务器上无法运行。
在设置 cookie 的有效期为 60 天时,我使用“/”作为路径,使用“mydomain.com”作为域。我可以在浏览器上正确查看 cookie,并且可以确认与数据库中的值相比,这些值设置正确。
每次刷新页面时,服务器都不会获取 cookie 并创建一个新令牌并将其发送回浏览器并再次在数据库中创建新记录。新的 cookie 再次与最新记录匹配,但下次我刷新时,又是同样的事情。无法维护令牌,因此无法浏览网站。
知道为什么会这样吗?有没有可能我错过了一些设置?
我已经在最新的 Firefox、Opera、Safari 和 Chrome 上对其进行了测试。
谢谢。
编辑:
这是一个与 PHP 和 Bluehost 相关的问题,我以序列化格式在 cookie 的值上存储了 3、40 个字符的字符串。 unserialize() 函数由于某种原因在 Bluehost 上没有执行,但在我的开发机器上运行良好。所以我将存储的值更改为 40chars.40chars.40chars 并用分隔符“。”分解该值。获取 3 个字符串。
再次感谢。
【问题讨论】:
标签: php apache cookies bluehost