浏览器正在删除应用程序设置的Cookie

时间:2012-05-24 11:04:21

标签: security browser cookies p3p

这是一个有趣的问题。据说我在现有的应用程序中引入了一个功能。在用户系统上编写Cookie之前,应用程序必须征得用户的同意。 (隐含的是我的应用程序在用户系统上写了很少的cookie)。

所以设计是这样的,所有对应用程序的请求都被截获,对于每个请求,我们检查是否有一个标志要求应用程序写cookie(这个标志是从一个特殊的页面调用它发送的IP)或者它会在用户的计算机上检查一个特殊的Cookie,即Consent cookie。

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

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

我强烈认为某些浏览器会删除Cookie。请在这里建议可能出现的问题。另请告诉我如何检查我的浏览器是否正在删除Cookies。

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

1 个答案:

答案 0 :(得分:1)

可以有两件事:

  1. 无论浏览器如何,您每次都会被重定向到IP。
  2. 只需很少的浏览器就可以进入您的应用程序,其余的则不是。
  3. 在案例1中:您需要将P3P标头添加到响应中。请检查http://viralpatel.net/blogs/2008/12/how-to-set-third-party-cookies-with-iframe.html

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

    解决方案:您需要使用临时重定向,即状态代码307。