【发布时间】:2026-02-07 11:10:01
【问题描述】:
首先,我不确定这是否是 Opera 12.01 中的问题,但该问题仅出现在 Opera 中。我已经在 Android 和 iPhone 上的 FF14、Chrome 21、Safari 5 (Windows) 和 Safari Mac 和 Webkit 浏览器中进行了测试。
我的应用程序在 trigger.io forge 平台上运行,并使用代理将请求从 Web 应用程序路由到服务。代理只是简单地转发请求和 cookie,这在大多数浏览器中都按预期工作。
在蜻蜓检查请求后,我注意到服务器在响应中发送了正确的标头,但 Opera 似乎忽略了设置值。我想知道这是否是由于 cookie 的路径值配置错误造成的。我附上了 Firefox 和 Opera 中 2 个请求的屏幕截图。
正如您在屏幕上看到的,FF 可以看到 cookie 标头并适当地设置它们,但 Opera 没有。
我没有包含来自代理的代码来进行请求转发,所以如果您需要这些代码以获得一些见解,请告诉我。在服务端,我正在运行 PHP 和 Codeigniter。如果我需要在我的环境中添加更多信息,请告诉我,谢谢。
更新:即使在我不使用自定义 TLD 的生产环境中也会出现此问题。其他使用 cookie 的网站运行良好,并且启用了 cookie。
【问题讨论】:
-
愚蠢的问题,但是在您的 Opera 安装中启用了 Cookie(设置 > 首选项 > 高级 > Cookie)?如果是这样,您可以考虑在
operaprefs.ini中将Do Not Show Cookie Domain Errors=0设置在[User Prefs]下,以查看Opera 是否由于您的私有.locdevTLD 的适当限制级别不确定而拒绝cookie。 -
我在
about:config中找到了设置并取消勾选,没有解决问题。 Cookie 也已启用,其他网站也可以正常工作。我应该提到即使在我的生产环境中也会发生这种情况,因此不可能是由于 TLD。将在问题中添加该信息,谢谢。 -
一些初步想法 - Opera 是唯一支持 Set-Cookie2 的浏览器。我不知道这意味着什么,但也许它与问题有关?另一个想法 - 您为 /_forge 路径设置了多少 cookie:Opera 的限制为 30,而 Firefox 的限制为 50,目前尚不清楚新的 cookie 是否会导致旧的 cookie 消失或被拒绝。它的工作方式可能因浏览器而异..
-
@AmirNathoo 将检查 set-cookie2,谢谢。至于数量,我们只有大约 4 - 5 个 cookie。绝对不超过10个,所以也不应该是这样。另外,我在全新安装时检查了它,但仍然失败。
标签: php cookies opera trigger.io