乐闻世界logo
搜索文章和话题

What are allowed characters in cookies?

1 个月前提问
1 个月前修改
浏览次数9

1个答案

1

在HTTP Cookie中,根据RFC 6265标准,Cookie的值应该是一系列的cookie-octet,其中允许的字符包括:

  • !(ASCII值 33)
  • "(ASCII值 34)
  • #(ASCII值 35)
  • $(ASCII值 36)
  • %(ASCII值 37)
  • &(ASCII值 38)
  • '(ASCII值 39)
  • ((ASCII值 40)
  • )(ASCII值 41)
  • *(ASCII值 42)
  • +(ASCII值 43)
  • ,(ASCII值 44)
  • -(ASCII值 45)
  • .(ASCII值 46)
  • /(ASCII值 47)
  • 数字0-9(ASCII值 48-57)
  • :(ASCII值 58)
  • ;(ASCII值 59)
  • <(ASCII值 60)
  • =(ASCII值 61)
  • >(ASCII值 62)
  • ?(ASCII值 63)
  • @(ASCII值 64)
  • 字母A-Z(ASCII值 65-90)
  • [(ASCII值 91)
  • \(ASCII值 92)
  • ](ASCII值 93)
  • ^(ASCII值 94)
  • _(ASCII值 95)
  • `(ASCII值 96)
  • 字母a-z(ASCII值 97-122)
  • {(ASCII值 123)
  • |(ASCII值 124)
  • }(ASCII值 125)
  • ~(ASCII值 126)

值得注意的是,某些特殊字符,如双引号"、逗号,、分号;和反斜杠\在Cookie中有特殊用途或者可能与Cookie的分隔等行为相冲突,因此在使用这些特殊字符时需要特别注意,可能需要进行编码处理。

举例来说,如果你想在Cookie中设置一个值包含逗号或分号,你可能需要使用如encodeURIComponent这样的函数在JavaScript中进行编码,以确保这些字符不会干扰Cookie的格式。例如:

javascript
document.cookie = "example=" + encodeURIComponent("value;with,special&characters");

这样可以确保包含特殊字符的字符串被安全地编码,不会影响Cookie的存储和发送。

2024年8月12日 11:20 回复

你的答案