2010-04-18 26 views
0

嗨,我有一個Web應用程序,我在我的網頁上種植一個cookie。然後,用戶進入到另一個頁面,並且從該網頁腳本調用我的網頁,這樣的:何時提供cookie?

<script type="text/javascript" src="http://domain.com/page.aspx?id=6" ></script> 

但是當它調用我的網頁,爲什麼不能我不能訪問餅乾嗎?以及如何解決它?

請注意,這個問題是關於: Javascript and webshop tracking/affiliate across websites, how to do?

編輯 「其他」頁面上完全不同的領域。我的代碼是在ASP.NET,但據我所知它同樣適用於所有語言:

種植餅乾(Default.aspx的):

protected void Page_Load(object sender, EventArgs e) 
    { 
     Response.Cookies["affiliate"].Value = "InnovationPartner"; 
     Response.Cookies["affiliate"].Expires = DateTime.Now.AddDays(7); 
     ... 
    } 

檢索的cookie(往返後) (Collect.aspx):

protected void Page_Load(object sender, EventArgs e) 
    { 
     bool affiliate = Request.Cookies["affiliate"] != null ? true : false; 
     ... 
    } 
+0

您需要更加具體。你的意思是什麼「頁面」?什麼「另一頁」?它是相同的域還是不同的?重現代碼在哪裏? – 2010-04-18 09:19:49

+0

請參閱我的編輯,希望這解釋它更詳細一點 – 2010-04-18 09:25:07

回答

0

許多瀏覽器選項來放置在「第三方cookie」,這是你的cookies是什麼引起的其他網站上的<script>標籤要求的限制。

特別是對於IE的默認設置,您需要提供一個P3P策略。見例如。 this question

+0

...但我設置我的Cookie: http://www.mycomain.com/default.aspx - >用戶單擊一個鏈接,並重定向到另一個頁面(網店) - >當用戶完成訂單我鏈接回我的域名(JavaScript): http://www.mydomain.Collect.aspx 而它的mydomain.com我設置和檢索餅乾,無處可去。但是,當我嘗試檢索我的cookie它不存在(返回null) – 2010-04-18 17:15:58

+0

..我的意思是,它不是一個真正的第三個pary cookie,當它沒有用在網上商店的域名? – 2010-04-18 17:22:21

+0

當一個資源(腳本,樣式,圖像,iframe)從一個主機名的網頁中獲取時,這是一個第三方cookie,該主機名與資源的主機名不匹配。 – bobince 2010-04-18 20:11:57

0

當從不同的域調用時,必須實現P3P簽名。
無論如何,您必須始終觀看HTTP日誌來跟蹤Cookie流程