Bir post isteği boyut sınırı nedir?

6 Cevap php

Bu yinelenen eğer Üzgünüm, ben olacağını düşünürdüm ama bir şey bulamadı.

Ben geri IE aracılığıyla bir PHP / MySQL sunucuya veri ilanıyla esnek bir uygulama var. Henüz herhangi bir sorun haline çalıştırmak değil, ama bu zaman öncesinde bilerek bana hayal kırıklığı ve iş bir demet kurtarabilir. Http üzerinden veri gönderme için bir boyut sınırlaması var mı?

This article says no: http://www.netlobo.com/ie_form_submit.html

This discussion says yes: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method

Ve tüm çevrimiçi bulmak mümkün kulüpler ne ileri geri gider. Yani please cevaplarını bizzat test / doğrulanmış numaraları sınırlamak.

Ben (5mb kadar demek) oldukça büyük olabilir bir XML dizesi geri göndermek isteyen duyuyorum.

Herhangi bir fark yaparsa: tarayıcı her zaman IE (bizim ürün gerektiriyorsa) olacak, sonrası flex gelen ve HTTPService edilir, web sunucusu php, DB mySql olduğunu.

6 Cevap

Bu bir sunucu konfigürasyon. . Eğer Linux veya benzeri altında PHP ile çalışıyorsanız, bu kullanarak htaccess kontrol gibi pek yapabilirsiniz:

#set max post size
php_value post_max_size 20M

Ve, evet, ben şahsen bu çalıştığı gerçeği kanıtlamak olabilir :)

IIS kullanıyorsanız eğer, ben size bu özel değeri ayarlamak istiyorum nasıl herhangi bir fikrim yok.

Bir istek url kısmı (GET ve POST) tarayıcıda hem de sunucu tarafından sınırlı olabilir - daha küçük bir sınır kullanmak hiçbir tarayıcı veya sunucuları hemen hemen olduğu gibi genellikle güvenli boyutu 2KB olduğunu.

Bir istek (POST) ve vücudun normal * DoS saldırısı (bu karakter öncelemeli vücudun bayt boyutunu artırmak anlamına gelir unutmayın) bir tür önlemek için bir bayt boyutu bazında sunucusu tarafından sınırlıdır. Tüm popüler sunucuları bu bir ayar dosyasının veya paneli üzerinden artmış veya azalmış izin rağmen en yaygın sunucu ayarı, 10MB.

* Bazı istisnalar eski cep telefonu ya da diğer küçük cihaz tarayıcılar ile var - bu durumda o zaman cihazda başka bir şey bu amaç için ayrılmış yığın alanı daha bir fonksiyonudur.

Ayrıca, PHP.INI dosyasında bir ayar var:

max_input_vars

1000 5.4.16 varsayılan: PHP benim sürümü hangi.

From the manual: "How many input variables may be accepted (limit is applied to $_GET, $_POST and $_COOKIE superglobal separately)"

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

David işaret ettiği gibi, ben çoğu durumda KB ile gitmek istiyorum.

php_value post_max_size 2KB

Not: benim form, sadece birkaç metin kutuları değil, uzun metin basittir.

Bu bir sınırı var olup olmadığına karar için http sunucu kadar olduğunu. Ben çalışmak ürün yönetici sınırını yapılandırmak için izin verir.

one is the best solution with this, you do not use multiple or more than 1000 input fields you can be concatinet multiple input with any special character for exp. "@"

bu bkz.

<input type='text' name='hs1' id='hs1'>
<input type='text' name='hs2' id='hs2'>
<input type='text' name='hs3' id='hs3'>
<input type='text' name='hs4' id='hs4'>
<input type='text' name='hs5' id='hs5'>

<input type='hidden' name='hd' id='hd'>

herhangi bir komut dosyası kullanarak (Java script veya JScript)

document.getElementById("hd").value = document.getElementById("hs1").value+"@"+document.getElementById("hs2").value+"@"+document.getElementById("hs3").value+"@"+document.getElementById("hs4").value+"@"+document.getElementById("hs5").value

with this concept you will be bypass the max_input_vars issue. if you increase the max_input_vars in php.ini file that is harmfull to server. bcoz they use more server cashe memory some time they will crash the server