web-dev-qa-db-ja.com

投稿リクエストのサイズ制限は?

これが重複している場合は申し訳ありませんが、それは間違いないと思いますが、何も見つかりませんでした。

私はIEを介してphp/mysqlサーバーにデータをポストしているflexアプリケーションを持っています。私はまだ何の問題にも遭遇していません、しかし、これを前もって知ることは私にたくさんのフラストレーションと仕事を救うかもしれません。 httpによるデータの投稿にサイズ制限はありますか?

この記事は「いいえ」と言っています。 http://www.netlobo.com/ie_form_submit.html

この議論はそう言います: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method

そしてそれはすべて私がオンラインで見つけることができるものを行ったり来たりします。そのため、回答を個人的にテスト/検証された数に制限してください

私は非常に大きくなる可能性があるXML文字列をポストバックしたいと思っています(最大5mbまで)。

違いがあるのなら、ブラウザは常にIEになるでしょう(私達の製品はそれを必要とします)、フレックスでの投稿はhttpServiceから来て、Webサーバーはphp、DBはmySqlです。

244
invertedSpear

サーバー構成によって異なります。 LinuxなどでPHPを使用している場合は、次のように.htaccess構成ファイルを使用して制御できます。

#set max post size
php_value post_max_size 20M

そして、はい、私は個人的にこれがうまくいくことを証明することができます:)

IISを使用しているのであれば、この特定の値をどのように設定すればよいかわかりません。

193
inkedmn

リクエストのURL部分(GETとPOST)は、ブラウザとサーバーの両方によって制限される可能性があります - より小さな制限を使用するブラウザやサーバーがほとんどないため、一般的に安全なサイズは2KBです。

リクエストのボディ(POST)は通常、DoS攻撃の一種を防ぐためにサーバによってバイトサイズベースで制限されています(これは文字のエスケープがボディのバイトサイズを増やす可能性があることに注意してください)。最も一般的なサーバー設定は10MBですが、一般的なサーバーでは設定ファイルまたはパネルを使ってこれを増減できます。

*古い携帯電話や他の小型デバイスのブラウザにはいくつかの例外があります - そのような場合、それはデバイス上でこの目的のために確保されているヒープスペースの機能です。

69
David

また、PHP.INIファイルには設定があります。

max_input_vars

私のバージョンのPHPでは、5.4.16がデフォルトの1000です。

マニュアルから:「いくつの入力変数を受け入れることができる($ _GET、$ _POSTおよび$ _COOKIEスーパーグローバルに別々に制限が適用される)」

参照: http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars

46
Nikolay Ivanov

Php.ini変数を設定することで大量のデータを投稿できます:max_input_varsこの変数のデフォルトのサイズは1000ですが、大量のデータを送信する場合は、それに応じてサイズを増やす必要があります。 ini_setからサイズを設定できない場合は、htaccessを使用するか、php.iniファイルに直接変更を加えてサイズを設定する必要があります。

max_input_vars  2500
memory_limit    256M
11

Davidが指摘したように、私はほとんどの場合KBを使います。

php_value post_max_size 2KB

注意:私のフォームはシンプルで、長文ではなく、ほんの数テキストボックスです。

デフォルトでは、投稿要求は最大サイズ8MBです。しかし、あなたはあなたの要求に従ってそれを修正することができます。変更はphp.iniファイル(php設定)を開くことで行えます。

見つける

post_max_size=8M  //for me, that was on line:771

必要に応じて8を交換してください。

1
Muhammad Ashfaq

制限があるかどうかを判断するのはhttpサーバー次第です。私が取り組んでいる製品では、管理者が制限を設定できます。

1
ChrisH