2013-04-21 157 views
0

假設我的網站上的用戶有來自其他網站的cookie,並且我知道cookie的名稱。基本上我想要做的是給用戶一個地址欄的鏈接,並用它來激活該cookie的值的Javascript代碼(讓我們稱這個cookie爲「喬」)。例如:通過地址欄訪問cookie的值

我的網站會給用戶點擊此鏈接:Examplesite.com/page=(here是將激活JavaScript或一些特定的Cookie值)

輸出將是什麼代碼在閱讀值:Examplesite.com/page=54(可以說cookie的值是54)之後這樣做。

因爲我無法控制Examplesite.com cookies(我不擁有該網站),所以我無法使用普通腳本。所以我想,爲什麼不給用戶一個鏈接,瀏覽器會認爲用戶請求對這些cookie進行處理(這實際上是真的,因爲他正在粘貼它),而不是一些隨機的網站。然後,所有用戶將要做的就是將其粘貼到地址欄中,地址欄將激活它......我不確定這甚至是可能的。任何答案將不勝感激。

+0

不會發生。您需要一個服務器代理,例如捲髮到網站並顯示返回的Cookie,如果您欺騙用戶的瀏覽器 – mplungjan 2013-04-21 19:58:27

+0

您無法從站點上下文訪問其他站點的Cookie。這會違反[同源策略](http://en.wikipedia.org/wiki/Same_origin_policy)。 – Gumbo 2013-04-21 20:00:27

+0

「違反相同的原產地政策」 - 那麼你是否說如果我想例如現在使用javascript從地址欄中激活一個來自StackOverflow的cookie,我無法做到這一點?即使,我可以看到它的cookie和價值... – user1938653 2013-04-21 20:03:18

回答

0

Firebug等瀏覽器的開發工具出現之前,我曾經鍵入以下在URL欄中看到站點的cookie:

javascript:alert(document.cookie) 

所以,我剛剛去到google.com,然後試圖這與我的Mac(OS X 10.8)上的Firefox 19,Chrome 26和Safari 6完全兼容。

鉻讓我鍵入javascript:alert(document.cookie),但是當我將其粘貼到地址欄,它剝奪了javascript:和剛剛粘貼alert(document.cookie),跑谷歌搜索。

Safari通知粘貼上的cookie,但Firefox不允許粘貼或打字。

這些結果是用戶直接輸入的,並且結果不一。通過來自其他網站的鏈接以及所有「跨域」安全問題,這是行不通的。如果你想到它,這實際上是另一種形式的Cross-site scripting (XSS)攻擊。

+0

這個XSS如何?我正在嘗試將我自己的Cookie存儲在瀏覽器中。我試圖做的唯一事情就是獲得一個特定的cookie的值顯示在瀏覽器中... – user1938653 2013-04-21 23:12:54

+0

你喜歡從一個網站,到另一個網站(跨網站),試圖獲得該網站設置的信息 – 2013-04-21 23:15:49

+0

不,現在我只想知道如何通過在地址欄上使用javascript來查找特定cookie的值...這意味着 - 我在瀏覽器中輸入Javascript代碼,結果是Cookie的特定值。 – user1938653 2013-04-21 23:33:39