2012-05-24 65 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

相關問題