在使用包含非ASCII字符的cookie响应任何请求时,ColdFusion 11似乎会崩溃。IIS 8.5返回HTTP 500内部服务器错误(空白白页)。
复制的步骤:
>
在Javascript控制台中运行以下命令,并尝试加载任何CFML页面:document。cookie=“a=ñ”
(可选)请求任何。html或。txt文件并接收正常响应。
请求任何ColdFusion一个页面,并收到一个空白的白色页面,HTTP 500内部服务器错误。
唯一的解决方法是清除浏览器cookie。
环境:
Windows Server 2012 R2标准版
我已尝试添加
-Dfile。encoding=UTF-8
到Java参数。
我还没有在ColdFusion上发现其他人遇到这个问题。在Tomcat上运行Java代码也存在类似的问题。然而,由于ColdFusion 11与Tomcat捆绑在一起,我甚至不知道Tomcat正在运行哪个版本,也不知道如何升级它。(ColdFusion 10似乎运行Tomcat 7)Adobe似乎没有关于ColdFusion 11的Tomcat层的文档(特别是它与ColdFusion的关系)。我试过应用
欢迎提出任何想法。不幸的是,我们有很多用户在cookie中使用“Español”,我们无法执行任何ColdFusion代码来清除或更改这一点。我们在ColdFusion 9中没有这个问题,在升级到ColdFusion 11后的QA检查中错过了这个问题。
coldfusion错误的完全异常。日志:
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 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
匿名用户
您可以使用IIS重写规则识别非ASCII cookie,然后将用户重定向到静态超文本标记语言页面,并删除或重写cookie。(我用CF10测试了这个,它是有效的。)
这种非ASCII cookie会杀死ColdFusion10/11。(注意:ColdFusion只能访问大小写的cookie名称。)
document.cookie="a=ñ";
将其添加到您的IIS网站。配置文件。
<rule name="Route Bad Cookie" enabled="true" stopProcessing="true">
<match url="^(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{PATH_INFO}" pattern=".*htm$" negate="true" />
<add input="{HTTP_COOKIE}" pattern="([^\x00-\x7F]+)" />
</conditions>
<action type="Redirect" url="/clearCookie.htm" redirectType="Temporary"/>
</rule>
注意:上述规则匹配除“.htm”文件之外的任何脚本(如果您已经在使用IIS重写在URL中隐藏.CFM)
<match url="*.cfm*" />
如果您有安全意识,可以将重写操作替换为abort
。
<action type="AbortRequest" />
或自定义响应:
<action type="CustomResponse" statusCode="403"
statusReason="Forbidden: Invalid non-ASCII cookie"
statusDescription="Only US-ASCII characters excluding CTLs, whitespace,
DQUOTE, comma, semicolon, and backslash are allowed in a cookie." />
下面是一些删除cookie的示例代码(/clearCookie.htm):
<script>
var mydate = new Date();
mydate.setTime(mydate.getTime() - 1);
document.cookie = "a=; expires=" + mydate.toGMTString();
</script>
问题内容: 我正在尝试执行此AJAX帖子,但是由于某些原因,我遇到了服务器500错误。我可以看到它在控制器中达到了断点。因此问题似乎出在回调上。任何人? 这是应该返回的字符串: 问题答案: 我怀疑服务器方法在通过断点后会引发异常。使用Firefox / Firebug或IE8开发人员工具查看您从服务器获得的实际响应。如果有异常,您将获得YSOD html,这应有助于您确定要查找的位置。 还有一件事
我在尝试进行返回JSON的ajax POST调用时出现内部错误。ajax调用来自JS页面: 这是我的Spring MVC调用方法: 问题是,我在这个类中只设置了几个字段(30个字段中有17个)。这是一个具有简单setter-getter的bean类。如果我设置了所有30个字段,效果很好。你能建议如何设置JSON响应,以便我可以纠正这个问题吗。
问题内容: 我正在尝试为这个工作中的项目学习AJAX。我有一个网站加载病人正在服用的药物。 我递归调用此AJAX函数,以便它将附加一个包含单种药物和7天历史记录的新表。我在使代码在FF和IE中执行时遇到问题。在chrome中效果很好。我有显示xmlhttp.status的警报,这是我得到的: xmlhttp.status == 500(内部服务器错误)。 我注释掉了所有递归,因此将其范围缩小到了这
我收到以下错误 内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。 请联系服务器管理员,webmaster@strivemedicare.in并告知他们错误发生的时间,以及可能导致错误的任何行为。 有关此错误的详细信息,请参阅服务器错误日志。 此外,尝试使用错误文档处理请求时遇到 500 内部服务器错误错误。
我试图实现PhpPression转换一些文件,所以我有以下代码: 由于某种原因,这段代码正是导致500个内部服务器错误的原因。我已将错误报告设置为“全部”,但未显示任何错误。路径是正确的,我的根目录中有PhpOffice文件夹(public_html)和相应的子文件夹。 自动加载程序代码是这样加载的:
我一直试图在nginx上安装CakePHP,但我遇到了一个死胡同。尝试访问web根目录时,我收到一个500内部服务器错误。我在我的错误中得到了这个错误。日志: PHP消息:PHP致命错误:require():无法打开required'/var/www/html/test/vendor/autoload。php'(include_path='。:/usr/share/php:/usr/share/p