您应该如何对 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/