在cookie中存储引荐来源网址

时间:2011-03-08 11:48:57

标签: javascript url cookies delimiter referrer

我想在客户端的单个cookie中存储多个名称值对。其中一个名称值对是文档引用者。我不确定在推荐人中我可以找到哪些字符,所以我不确定选择哪个分隔符。

假设我选择波浪号〜字符来区分值和管道的名称用于分隔名称值对的字符。然后我可能会得到这样的cookie:

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

现在让我说我的推荐人是http://www.google.com/search?q=the~middle,然后我的cookie现在是:

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

我认为我不能依赖在引用网址中编码为%7E的波浪号角色(或者我可以吗?),因此我无法解析我的cookie以获取组件部分。

所以我的问题是:
(1)我的两个分隔符是否有安全的字符选择?
(2)我能依靠〜和|总是在推荐人中编码?

非常感谢,
保罗

2 个答案:

答案 0 :(得分:0)

您可能无法“依赖于被编码为%7E的波形符号”,但您可以通过将所有〜替换为%7E来将其存储在cookie中

答案 1 :(得分:0)

注意:Cookies不能有空格,所以我的答案无效。谢谢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