的Servlet API提供了一个方便的方法来设置cookies:从servlet API设置时是否需要转义cookie值?
response.addCookie(new Cookie(name, value))
的JavaDoc讲述:
随着版本0的cookie,值不应包含空格, 括号,括号,等号,逗号,双引号,斜杠, 问号,符号,冒号和分号。在所有浏览器上,空值可能不是 的行为方式相同。
但是它不能告诉如果这些字符出现在值中会发生什么。
如果价值来自不可信来源,我可以使用API安全地设置价值,无需额外的预处理,或者我打开一些注入的门?
如果它们存在,您将得到一个illegalArgumentException – Edd