ASCII以外の文字を含むクッキーに関するリクエストに応答して、ColdFusion 11がクラッシュするように見えます。 IIS 8.5はHTTP 500内部サーバーエラー(空白の白いページ)を返します。ColdFusion 11 - 500非ASCIIクッキー文字からの内部サーバーエラー
手順に再現する:
実行JavaScriptコンソールで、次のあらゆるCFMLページをロードしよう:
document.cookie="a=ñ";
(オプション)リクエストの任意の.htmlまたは.txtファイルと通常の受信応答。
ColdFusionにページをリクエストし、空白のページ、HTTP 500内部サーバーエラーを受け取ります。
唯一の回避策は、ブラウザのCookieをクリアすることです。
環境:
- のWindows Server 2012のR2の標準
- は、IIS 8.5
- 常温核融合11(標準)
- 全てのOSやソフトウェアを最新のパッチを適用したバージョンを実行しています。
私はJavaの引数に-Dfile.encoding=UTF-8
を追加しようとしました。
この問題をColdFusionで実行している他の人は見つかりませんでした。 TomcatにはJavaコードを実行中のsimilar issuesがあります。しかし、ColdFusion 11はTomcatにバンドルされているので、どのバージョンのTomcatが稼働しているのか、それをどのようにアップグレードするのかは分かりません。 (ColdFusion 10ではTomcat 7が動作しているように見えます)Adobeには、ColdFusion 11のTomcatレイヤーに関するドキュメント(具体的にはColdFusionとの関係)は記載されていません。私は<CookieProcessor />
の設定をcontext.xmlに適用しようとしました。私はAdobe bug baseに投稿し、何の応答も受けなかった。
アイデアを歓迎します。残念ながら、Cookieには「Español」というユーザーが多数おり、これをクリアまたは変更するためにColdFusionコードを実行することはできません。私たちは、ColdFusion 9でこの問題を持っているとColdFusion-error.logファイルから
のColdFusion 11へのフル例外アップグレードした後、QAチェックでこれを逃しませんでした:あなたが使用して非ASCIIのクッキーを特定することができました
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)
PLSレポート://bugbase.adobe .com/ – Henry
非ASCIIクッキーは有効ですか?私は、CTL、空白、DQUOTE、コンマ、セミコロン、バックスラッシュの文字を除くUS-ASCII文字は有効だと考えました。 http://stackoverflow.com/a/1969339/693068 IISルールを作成してそれを識別してサニタイズすることはできますか? CFのOWASP機能がそれをキャッチできますか? –
私はTryCF.comを壊してこれをテストしようとしました。 document.cookie = "a =ñ"を実行した後。コードサンプルは実行されませんでした。代わりにCFCookieを使用すると、Cookie値は "%C3%B1"として安全にエンコードされます。 –