2012-05-24 62 views
0

这是一个有趣的问题。我说要在我现有的应用程序中引入一个功能。在用户系统上写入Cookie之前,应用程序必须征得用户的同意。 (隐含的是我的应用程序在用户系统上写入了很少的cookie)。浏览器正在丢弃由应用程序设置的Cookie

因此,设计是这样的,所有对应用程序的请求都被拦截,对于每个请求,我们检查是否有一个标志要求应用程序写入cookie(该标志是从特殊页面调用它发送的IP)或者在用户的机器上检查一个特殊的cookie说同意cookie。

现在,如果应用程序未在用户计算机上看到同意Cookie,则会将其用户通过其URL重定向到IP。在IP上有一个Accept Cookie按钮。如果用户接受cookie,则ajax请求将转到服务器,在该服务器中代码检测到写入cookie的标志并将cookie写入用户的浏览器。

我可以看到写入cookie的代码被执行,在此之后预期的行为将以正常方式处理请求。但不幸的是,它将它重定向回IP。

我有一种强烈的感觉,即某些浏览器丢弃了Cookie。请在此提出可能存在的问题。请让我知道如何检查我的浏览器,它正在丢弃Cookie。

我也觉得它与P3P标题有关。请帮忙。

+0

我们还需要在IP(编译,无缓存) – dharam

回答

1

可以有两件事情:

  1. 你得到重定向到IP每次不管浏览器。
  2. 有几个浏览器,你进入你的应用程序,其余的你没有。

案例1:您需要将P3P头添加到响应中。请检查http://viralpatel.net/blogs/2008/12/how-to-set-third-party-cookies-with-iframe.html

情况2:像Mozilla Firefox(12)的最新版本这样的浏览器很少有可能在重定向时缓存响应状态。默认情况下,重定向是永久重定向,即状态码302.在这种情况下,IP将在Mozilla中保持重定向。

解决方法:您需要使用临时redirectin即状态码307

+0

谢谢你添加一个meta标签。有用 :) – dharam

相关问题