2014-04-07 84 views
0

我有一個網站在訪問該網站時打開一個模式。該人對模態有幾個選項。如果他們選擇某個選項,則創建一個會話cookie。與jQuery和jQuery Cookie交叉域Cookie Cookie

這裏是我使用的檢查Cookie,並運行基於一個函數的代碼:

$(function() { 
    if($.cookie('my-cookie') === undefined) { 
    $('#modal').foundation('reveal', 'open'); 
    } 
    $(".close-modal").click(function() { 
    $('#modal').foundation('reveal', 'close'); 
    $.cookie('my-cookie', '1', {path:'/'}); 
    }); 
}); 

我也有,我想檢查,如果這個cookie存在另一個域。根據我的理解,即使我擁有並控制該域名,也無法讀取其他域名cookie。

我的問題是這樣的:有沒有一種解決方法或方法可以讓我檢查一個cookie是否存在於另一個域中?請記住,我確實控制了這兩個域,並且可以將代碼上傳到任一域或兩個域。

另外我使用託管CMS,所以我不能使用服務器端代碼。我在兩個域上使用jQuery Cookie並使用jQuery 2.1。

+0

我認爲這將是一個安全漏洞,如果客戶端JavaScript/jQuery可以檢測到跨域cookie。 –

回答

1

您可以在同一個域的子域上讀取cookie,但絕不會在完全不同的域中讀取。這完全是有意的,如果有可能規避它,將會引發一系列隱私問題。您通常會解決這個問題的方式是通過URL將會話ID或其他身份驗證令牌傳遞給其他域,但是如果您不能使用不安全的服務器端代碼。

+0

我意識到它是有意的。我想我的想法是我控制這兩個域名,所以我可以通過代碼,但正如您所指出的,由於沒有服務器端,它是有限的。 – L84