5

Web アプリの管理部分のいくつかのフォームで問題が発生しました。多数のフィールドを含むフォームがいくつかあります (入力フィールドは 1 つから数百に及ぶ可能性があります)。

これらのフォームが大きくなるにつれて、フォームが投稿されたときにサーバーが 500 エラーをスローするポイントがあることがわかりました。

テストを実行した後、サーバーが 100 個のフィールドを含むフォームを処理できることがわかりました。101 個以上のフィールドが使用されると、エラーが発生します。

Coldfusion を実行しましたが、Coldfusion がこのエラーをスローしていないと判断しました。このエラーが Coldfusion に記録されることはありません。そのため、Coldfusion サーバーにリクエストを送信する前に、IIS がエラーをスローしていると想定しています。

IIS 7.5 には、この制限を引き上げることができる設定があると思います。私はウェブで検索しましたが、許可されているフィールド数の制限ではなく、このデータのバイトサイズ制限を上げる方法しか見つかりませんでした。

では、これを変更できると仮定するのは正しいでしょうか?もしそうなら、どうすれば変更できますか?

4

2 に答える 2

13

これは、ホットフィックスAPSB12-06で発生した問題です。これはColdFusionエラーですが、CFサーバーにヒットする前に、Tomcatでエラーを受信したとの報告があります。

neo-runtime.xml-を定義する設定があり、postsizelimitデフォルトは100です。

完全なメモはここにありますが、ここに短いバージョンがあります。

このホットフィックスには、ColdFusionのPostParameterLimitという新しい設定があります。この設定は、POSTリクエストのパラメーターの数を制限します。デフォルト値は100です。postリクエストに指定されたパラメータがさらに含まれている場合、サーバーはリクエストを処理せず、例外をスローします。このプロセスは、ハッシュ衝突を使用したDoS攻撃から保護します。この設定は、投稿サイズの制限とは異なります(ColdFusionAdministrator>設定>投稿データの最大サイズ)。この設定は、ColdFusionAdministratorコンソールでは公開されません。ただし、neo-runtime.xmlファイルでこの制限を簡単に変更できます。以下のポイント5を参照してください。postParameterLimitを変更する場合は、サーバーのインストールの場合は{ColdFusion-Home} / libに、マルチサーバーまたはJ2EEのインストールの場合は{ColdFusion-Home} / WEB-INF / cfusion/libにアクセスしてください。行の後にファイルneo-runtime.xmlを開きます。

<var name='postSizeLimit'><number>100.0</number></var>

以下の行を追加すると、100を希望の数に変更できます。

<var name='postParametersLimit'><number>100.0</number></var>

CF10 +には、[CF管理者設定]ページの[下]で編集できる設定がありMaximum number of POST request parametersますServer Settings -> Settings

9.0.1サーバーでは、設定を10000に増やしただけで、悪影響は見られませんでした。

于 2013-02-14T19:55:05.020 に答える
6

ColdFusion のセキュリティ機能にぶつかっていると思います。実行している ColdFusion のバージョンは何ですか? ColdFusion Security Hotfix APSB12-06では、ハッシュ衝突を使用した DoS 攻撃から保護するための修正が導入されました。そのページから:

このホットフィックスは、ColdFusion の新しい設定である Post Parameter Limit を実装します。これにより、ポスト リクエストのパラメータ数が制限されます。デフォルト値は 100 です。ポスト リクエストに指定された以上のパラメータが含まれている場合、サーバーはリクエストを処理せず、例外をスローします。これは、ハッシュ衝突を使用した DoS 攻撃から保護するために行われます。この設定は、投稿サイズ制限 (ColdFusion Administrator > 設定 > 投稿データの最大サイズ) とは異なります。この設定は ColdFusion Administrator コンソールでは公開されていませんが、この制限は neo-runtime.xml ファイルで簡単に変更できます。以下のポイント 5 を参照してください。

また、そのページには、その制限を増やす方法についての説明もあります。基本的に、neo-runtime.xml ファイルを変更する必要があります。

postParameterLimit を変更したいお客様は {ColdFusion-Home}/lib、サーバーのインストールまたは {ColdFusion-Home}/WEB-INF/cfusion/libマルチサーバーまたは J2EE のインストールを行ってください。次の行の後にファイル neo-runtime.xml を開きます。

<var name='postSizeLimit'><number>100.0</number></var>

以下の行を追加すると、100 を任意の数に変更できます。

<var name='postParametersLimit'><number>100.0</number></var>
于 2013-02-14T19:58:32.207 に答える