2

URL の長さを超えたことを検出する方法はありますか? これは、クエリ文字列で多数のクエリ変数を送信した後に発生します。実行時に増やすことはできますか?サーバーの構成に依存しているようです & URL の最大長は?

4

4 に答える 4

18
  1. 受信側では通常、414 Request-URI Too Long-header を受け取ります。
  2. いいえ、実行時に増やすことはできません。そしてApacheでは、それをWebサーバーとして使用する場合、デフォルトの8190バイト未満に制限できますが、ソースコードを変更して再コンパイルせずに8190バイト以上に制限することはできません.
  3. はい、それはサーバー依存であり、UA 依存でさえありますか? で実行するSuhusoinPHP、さらに多くのルールが適用されます。
  4. 「URL の最大長は?」と尋ねる必要がある場合は、、実際に尋ねる必要があります: 「なぜこれらは POST 値ではないのですか?」.
于 2012-07-14T08:27:08.533 に答える
3

フォーム メソッドが設定されておらず、セッションから変数をフェッチしようとすると、問題が発生します。これを解決するには、フォームメソッドを method="POST" に設定すると機能します

于 2018-08-29T10:43:07.837 に答える
0

この問題は、Apache がクライアントの HTTP リクエスト行 (例: ) のサイズと HTTP リクエスト ヘッダー フィールドのサイズを制限していることが原因である可能性があります。したがって、リクエスト URL がこれほど大きい場合は、デフォルト値を増やす必要があります。Apache 構成ファイルの URI の長さ制限を増やします (デフォルトでは /etc/httpd/conf/httpd.conf です)。

LimitRequestLine 16380

LimitRequestFieldSize 16380

于 2020-12-15T11:41:36.073 に答える