java - 编码java Cookie值

标签 java encoding cookies

您应该如何对 Java Cookie 对象的实际值进行编码?我无法传递“=”之类的字符或 US-ASCII 以外的任何字符。

/布莱尔·乔恩斯

最佳答案

如何并不重要,但通常是Base64应该运作良好。

注意事项:

这听起来像是您想在 cookie 中存储任意设置。这通常不是一个好主意,因为 cookie(就像所有客户端输入一样)是不受信任的。考虑将数据服务器端存储在某个生成的(随机!)标识符下,并将其放入 cookie 中。这样人们就无法规避访问限制或通过操纵 cookie 将任意数据注入(inject)您的系统。

如果您不能使用此方法,请将 cookie 值视为不受信任的输入并照常验证。

编辑:

Base64 不合适,因为它使用 Java cookie 不支持的“=”。而是使用

java.net.URLEncoder.encode

只使用适合 cookie 的字符。

关于java - 编码java Cookie值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1531740/

相关文章:

java - 输入字母 z 时跳过字母不起作用

java - 与标志中的逻辑运算符一起使用的两个枚举的平方

java - 即使正确设置编码后,也无法在 mysql 中插入 CAFÉ

audio - 信号过零时如何解码幅度调制?

java - 如何将 int 的所有数字相乘而不将它们转换为字符串,然后使用带有 for 循环的 charAt 函数?

java - 任何方法重载都是编译时多态性吗?

git - 如何确定文件编码?

testing - 闪光范围问题 - Play Framework

jquery - Cookie 和 Jquery : Dialog Boxes

java - jersey 添加 cookie 然后进行重定向