Cookie不能在Opera被来回发送正确(Cookies not being sent back

2019-06-26 21:38发布

首先,我不知道这是否是在Opera 12.01还是不成问题的,但问题只发生在歌剧院。 我在FF14测试,Chrome浏览器21,Safari 5的(Windows)和Safari浏览器的Mac和iPhone和Android WebKit浏览器。

我的应用程序运行trigger.io的锻造平台,使用代理从Web应用程序的服务请求路由。 该代理只是简单地请求和饼干一起转发,这将按预期在大多数的浏览器。

检查在蜻蜓的请求后,我注意到,服务器在响应中发送正确的头,但歌剧似乎忽略设置值。 我不知道这是否是由于对cookie的一些错误配置的路径值。 我已经把它贴在Firefox和Opera 2所请求的屏幕截图。

正如你可以在屏幕上看到,FF看到cookie头,并相应地设置他们,但是Opera不。

Firefox的请求

歌剧要求1个画面

歌剧请求2屏幕

我并没有包括从不会请求转发代理的代码,所以请让我知道如果你需要获得一些见解。 在服务端,我运行PHP和笨。 请让我知道,如果我需要在这里添加任何更多的信息在我的环境,谢谢。

更新:即使在我的生产环境中不使用自定义TLD出现此问题。 使用cookie的其他网站正常工作和已启用Cookie。

Answer 1:

双引号是一个cookie值正式违法。 如果你逃避他们为22%,它会工作。



Answer 2:

如果这是与饼干域的问题,你检查? 我假设你使用Javascript功能来设置/读取cookie吗? 在任何情况下,有一些你可能想看看(我知道我有这些问题与旧版本的FF)4点Cookie域的问题:

1 -检查非法字符的cookie: 允许cookie的字符 ,你可能不会被允许使用“ - ”或“=” cookie中的名称,你不应该在饼干在所有使用非ASCII字符。 一个base64编码可能会解决这个问题。

2 - 检查其上设置您的Cookie(通过JavaScript代码或任何其他方式)的域是相同的在其上执行代码的域名。

3 - 检查Cookie域不是本地主机; 看看你是否可以测试从远程域设置cookie

4 - 如果你正在使用JS来设置你的cookies,试图测试,如果你能在你的浏览器中的CGI设置cookie,以确保它不是一个浏览器的问题。 如果成功,它应该看到,如果你可以阅读使用JS cookie的(而不是将它设置)。

让我知道如何去这样的评论,我已经经历了类似的问题的次数取决于你与这些检查会得到什么,我敢肯定,我可以帮你解决这个问题。



Answer 3:

看着那些歌剧的截图,他们似乎是被同一秒内处理AJAX / XHR请求。 有没有可能是JavaScript是触发这两个要求“同时”的,所以从“第一”的响应没有请求之前到达的“第二”构造 - 因此饼干尚未设置?

我不熟悉您所使用的技术/工具包,因此不知道这些股票的代码或自定义应用程序的一部分。



文章来源: Cookies not being sent back and forth properly in Opera