2011-03-08 33 views
0

我想在客戶端的一個cookie中存儲多個名稱值對。其中一個名稱值對是文檔引薦者。我不確定在推薦鏈接中可以找到哪些字符,因此我不確定要選擇的分隔符。假設我選擇了波浪號〜字符來從值中分隔名稱,並且管道|字符來分隔名稱值對。然後,我可能最終得到這樣一個cookie:在Cookie中存儲引用URL網址

my_cookie=a~1|b~2|c~3 

現在讓我們說我引薦http://www.google.com/search?q=the~middle,那麼我的餅乾現在是:

my_cookie=a~1|b~2|c~3|referrer~http://www.google.com/search?q=the~middle 

我不認爲我可以依靠的代字符字符被編碼爲引用URL中的%7E(或者我可以嗎?),因此我無法解析我的cookie來獲取組件部分。

所以我的問題是:
(1)我的兩個分隔符有沒有安全的字符選擇?
(2)我可以依靠〜和|始終在引用者中編碼?

非常感謝,
保羅

回答

0

您可能無法「依靠波浪號字符被編碼爲%7E」,但你一定可以用%7E更換所有〜其存儲在cookie這種方式

0

注意:Cookie不能有空格,所以我的回答是無效的。感謝user649650。

您可以以永遠不會存儲在URL中的方式使用〜字符。一個空間將始終被編碼爲%20,你可以用「〜」作爲分隔符

my_cookie=a~ 1|b~ 2|c~ 3|referrer~ http://www.google.com/search?q=the~middle 

會處理這種情況

my_cookie=a~ 1|b~ 2|c~ 3|referrer~ http://www.google.com/search?q=the~%20middle 
+0

空間不是在一個cookie的值是合法的。 – user649650 2011-03-08 16:00:42