2016-06-27 4 views
0

webappからリクエストを読み取るApache Tomcatサーバーがあります。私が提出されたフォームを持っているとPOSTパラメータの多数をポスト私のWebアプリケーションでポストパラメータリクエストを無視するTomcat

、周り8K〜

しかし、私はHttpServletRequestのは、私は常に正確6841.受け取るエントリポイントを、デバッグしようフォームからの入力は、いくつかの要素にわたって反復されて作成されます。つまり、最後のものは、他のものとまったく同じ形式です。

NDAの理由からコードを表示できません。 スニファを使用すると、完全なポストパラメータリストが送信されたことがわかりましたので、私は問題としてフロントエンドを破棄しました。

私は正しい軌道に乗っていると信じています。私はTomcatが他のポストパラメータを削除していると思います。ポストサイズの制限は要求のサイズをはるかに超えており、server.xmlに設定されたポストパラメータ数はありません(デフォルトは10,000で、その値には達しません)。

私が見つけたすべての答えは、パラメータをまったく送信しないか、またはエラーがスローされたということです。この場合、Tomcatでは無視されます。

+0

この場合は、tomcatコード自体をデバッグすることをお勧めします。 – DiogoSantana

+0

6841未満で動作しますか、5k POSTパラメータを考えてみましょうか? –

+0

@AlexBabanはい、2,3,4,5k、2k。その奇数の6841 –

答えて

1

私のケースでは、POSTパラメータ(POSTのサイズではない)の数を20,000に増やして問題を修正しました。これは、maxParameterCountを使用してTomcatのserver.xml構成で行った:

maxParameterCount属性が解析され、 リクエストに格納することができ パラメータと値のペア(GETプラスPOST)の最大数を制御します。余分なパラメータは無視されます。 でそのような要求を拒否するには、FailedRequestFilterを構成します。

+0

server.xmlの新しいパラメータ/属性値を含めると便利です。 – Leigh

+0

これまでにこの年齢を追加する必要がありましたが、完了しました。 –

+0

ありがとうございます。遅くなりません:-) – Leigh

関連する問題