2014-08-27 111 views

回答

1

您無法檢索屬於其他域的Cookie。作爲一種解決方法(如果您仍然可以使用舊域名);通過從http://olddomain.com內部http://newdomain.com內部創建一個iframe,您可以獲取cookie並通過postMessage發送給父母。

+0

這是一個非常有趣的解決方法 – fguillen 2014-08-27 12:28:02

0

Cookie受同一來源策略影響,但您可以繞過CORS(跨源資源共享)。

CORS是瀏覽器和服務器之間的遊戲。 基本思想是允許ajax請求跨域,但你可以用來共享cookie(應採取安全措施)。

瀏覽器發送帶有Origin標頭的請求。 如果服務器允許請求,則它使用原始值的Access-Control-Allow-Origin標頭進行回覆。 如果服務器未使用標題回覆或不匹配使用Access-Control-Allow-Origin瀏覽器的Origin不允許該請求。

但默認情況下,它不發送cookie或類似的東西(你必須添加「allow-credentials」額外的頭文件)。

隨着CORS可以共享添加到新的域服務器下列頭域之間的會話:

Access-Control-Allow-Origin: https://original-domain.com 
Access-Control-Allow-Credentials: true 

更多關於CORS信息:

+0

我沒有看到服務器配置如何影響瀏覽器發送cookie到他們不屬於的域。這將是一個非常安全的問題。 – fguillen 2014-08-27 12:23:04

+0

@fguillen關於安全我認爲你可以閱讀[Stackoverflow](http://goo.gl/Zsrl0o)或[OWASP](http://goo.gl/36PaEO)這個鏈接 – rgo 2014-08-27 14:26:07

+0

據我瞭解整個** CORS **是一個防止瀏覽器訪問未經授權的服務器資源的系統。但是在cookies的背景下,安全問題卻是相反的。根據我的理解** CORS **配置,您建議將cookies發送到其他域下的網站_original-domain.com_。但它會發送由域名_original-domain.com_擁有的Cookie,而不是來自另一域名的Cookie ..我在尋找的是從另一個域名託管的網站上的一個域名所擁有的Cookie。 – fguillen 2014-08-27 16:25:31

相關問題