1

我的主網站(hostsite)有一個IFRAME的註冊網站(註冊網站)託管在不同的域名上。IE:如何處理跨域cookie?

我想在不同的域上註冊主機,因爲我覺得在主機上存儲數據庫登錄信息並不安全,因爲很多人都可以訪問後端。

所有瀏覽器都接受來自的登錄會話cookie,註冊表 - Internet Explorer 8不支持。讓IE接受這個cookie的唯一方法就是將這兩個網站都添加到「可信站點」,這不是我想要的。

有沒有什麼辦法可以解決跨域問題除了本地瀏覽器設置或我要註冊移動到hostsitecurl唯一的選擇是不是一種選擇,因爲它不是靜態的HTML我展示在註冊網站上,但PHP文件)?

回答

4

我認爲這可以解決而無需移動任何東西,而且編程少。只需要一些DNS規則。

例如,您可以創建一個名爲register.hostsite域名(.com)指向IP哪裏regsite是新的子域。

然後重新引導IFRAME到新的子域。

它會從同一個服務器獲得相同的位,但現在這將是hostsite網域內。

這應該(至少在理論上)足以滿足IE。我不是100%確定,但我很長一段時間沒有使用IFRAMES。

如果不工作,我建議你問的serverfault了。

編輯:我一直在尋找另一個問題,並發現通過雅虎這樣的「微代理的PHP實現。這是他們推薦的解決這種問題的辦法:

http://developer.yahoo.com/javascript/samples/proxy/php_proxy_simple.txt

+0

**子域:很不錯的主意**我不是一個球迷`iframe`s下去,但有另一種選擇,如果你想舉辦您的主要網站內從別的地方的網頁? – 2011-02-01 18:22:02

+0

好主意。在嘗試iframe第三方支付網關時遇到同樣的問題。 – 2011-02-01 18:37:14

2

使用iframe的問題和IE瀏覽器是IE認爲iframe的內容3'rd方(如廣告等)。

要讓IE實際存儲由此域文檔設置的Cookie,您需要讓其他域發出P3P-標題,說明其意圖。這很容易實現,只需要添加一個http-header。

我,不知道你的跨域問題的意思了,因爲有沒有 - 你只是必須從兩個不同的領域兩個不同的文件。你還沒有說明你是否試圖讓一個域爲另一個域設置cookie,或者一個頁面訪問另一個域。