相关疑难解决方法(0)

Cookie中允许的字符

这个是一个快速的:

cookie名称和值中允许的字符是什么?它们与URL或某些常见子集相同吗?

我要问的原因是,我最近发现了一些奇怪的行为,其中包含-名称中的cookie,我只是想知道它是否是浏览器特定的,或者我的代码是否有问题.

cookies

290
推荐指数
6
解决办法
15万
查看次数

ColdFusion 11 - 500非ASCII Cookie字符的内部服务器错误

为了响应任何包含非ASCII字符的cookie的请求,ColdFusion 11似乎崩溃了.IIS 8.5返回HTTP 500内部服务器错误(空白页).

重现步骤:

  1. 在Javascript控制台中运行以下命令并尝试加载任何CFML页面: document.cookie="a=ñ";

  2. (可选)请求任何.html或.txt文件并接收正常响应.

  3. 请求任何ColdFusion页面并收到空白页,HTTP 500内部服务器错误.

  4. 唯一的解决方法是清除浏览器cookie.

环境:

  • Windows Server 2012 R2标准版
  • IIS 8.5
  • 冷融合11(标准)
  • 所有操作系统和软件都运行最新的修补版本.

我已经尝试添加-Dfile.encoding=UTF-8Java参数.

我没有在ColdFusion上找到其他人遇到这个问题.在Tomcat上运行Java代码存在类似的问题.但是,由于ColdFusion 11与Tomcat捆绑在一起,我甚至不知道Tomcat的运行版本以及如何升级它.(看起来ColdFusion 10运行Tomcat 7)Adobe似乎没有关于ColdFusion 11的Tomcat层的文档(特别是它与ColdFusion的关系).我已尝试将<CookieProcessor />配置应用于context.xml,如其他帖子所示.我已发布到Adobe bug基础并且未收到任何响应.

欢迎任何想法.不幸的是,我们在cookie中有很多用户使用"Español",我们无法执行任何ColdFusion代码来清除或更改它.我们在ColdFusion 9中没有遇到这个问题,并且在升级到ColdFusion 11之后在QA检查中错过了这个问题.

coldfusion-error.log完全例外:

Sep 03, 2015 11:43:58 PM org.apache.coyote.ajp.AjpProcessor process
SEVERE: Error processing request
java.lang.IllegalArgumentException: Control character in cookie value or attribute.
    at org.apache.tomcat.util.http.CookieSupport.isHttpSeparator(CookieSupport.java:193)
    at org.apache.tomcat.util.http.Cookies.getTokenEndPosition(Cookies.java:502)
    at org.apache.tomcat.util.http.Cookies.processCookieHeader(Cookies.java:349)
    at org.apache.tomcat.util.http.Cookies.processCookies(Cookies.java:168)
    at org.apache.tomcat.util.http.Cookies.getCookieCount(Cookies.java:106)
    at org.apache.catalina.connector.CoyoteAdapter.parseSessionCookiesId(CoyoteAdapter.java:986)
    at org.apache.catalina.connector.CoyoteAdapter.postParseRequest(CoyoteAdapter.java:743)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:417)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:199)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at …
Run Code Online (Sandbox Code Playgroud)

cookies coldfusion tomcat jwplayer coldfusion-11

9
推荐指数
1
解决办法
799
查看次数

有效Cookie值的明确指南

我知道还有其他问题,但他们似乎有一些假设而不是确定性的答案.

我有限的理解是cookie值是:

  • 分号已用于分隔单个cookie中的cookie属性.
  • 等号用于分隔cookie名称和值
  • 冒号用于分隔标题中的多个cookie.

还有其他"特殊"字符吗?

其他一些q/a表明一个base64对值进行编码,但这当然可能包括等于当然无效的等号.

我也看到了一些建议,可能会引用价值,但会导致其他问题.

  • 需要引用特殊字符吗?
  • 引用的值支持通常的反斜杠转义机制.

RFC我读了一些RFC,包括许多cookie RFCS中的一些,但我仍然不确定是否存在对另一个RFC等的交叉引用,没有明确的简单解释或"回答"我的查询的样本.

希望没有人会说阅读RFC因为问题变成哪个RFC ......?

我想我也读到不同的浏览器有不同的规则,所以如果这很重要,请在你的答案中注意这一点.

java http

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

cookies ×2

coldfusion ×1

coldfusion-11 ×1

http ×1

java ×1

jwplayer ×1

tomcat ×1