Was ist die Größenbeschränkung einer Post-Anfrage?

Lesezeit: 6 Minuten

Entschuldigung, wenn dies doppelt ist, ich würde es vermuten, konnte aber nichts finden.

Ich habe eine Flex-Anwendung, bei der ich Daten über IE an einen PHP/Mysql-Server zurücksende. Ich bin noch nicht auf irgendwelche Probleme gestoßen, aber wenn ich das im Voraus weiß, kann ich mir eine Menge Frustration und Arbeit ersparen. Gibt es eine Größenbeschränkung für das Posten von Daten über http?

Dieser Artikel sagt nein:
http://www.netlobo.com/ie_form_submit.html

Diese Diskussion sagt ja:
http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method

Und es geht alles hin und her, was ich online finden kann. Damit bitte Antworten auf persönlich getestete/verifizierte Nummern beschränken.

Ich möchte eine XML-Zeichenfolge zurücksenden, die ziemlich groß sein kann (sagen wir bis zu 5 MB).

Falls es einen Unterschied macht: Browser wird immer IE sein (unser Produkt erfordert es), Post kommt von und httpService in flex, Webserver ist php, DB ist mySql.

  • stackoverflow.com/questions/2276759/…

    – karim79

    2. März 2010 um 16:42 Uhr

  • Ich hatte dieses Problem in Laravel und füge ini_set (‘max_input_vars’, 2500) hinzu; in server.php im Stammverzeichnis meines Projekts und seine Arbeit stackoverflow.com/a/63241730/308578

    – Säbel tabatabaee yazdi

    4. August 2020 um 7:04 Uhr


Was ist die Grosenbeschrankung einer Post Anfrage
Brettkelly

Es hängt von einer Serverkonfiguration ab. Wenn Sie mit PHP unter Linux oder ähnlichem arbeiten, können Sie es mithilfe der .htaccess-Konfigurationsdatei wie folgt steuern:

#set max post size
php_value post_max_size 20M

Und ja, ich kann persönlich bestätigen, dass das funktioniert 🙂

Wenn Sie IIS verwenden, habe ich keine Ahnung, wie Sie diesen bestimmten Wert festlegen würden.

  • Wo ist das post_max_size Einstellung bei? Ich bin ziemlich neu in PHP und kann es nirgendwo in unserer Codebasis finden (mit dem DreamWeaver-Find-All-Prozess). Ich würde unsere Systemadministratoren fragen, aber sie sind gemein. 😛

    – umgekehrter Speer

    2. März 2010 um 17:07 Uhr

  • Können Sie diesen Wert einfach auf eine beliebige Größe setzen? Gibt es keine Art von Protokollbeschränkung? Kannst du es auf 999999999999999999999M setzen?

    – Abs

    24. Juni 2012 um 7:46 Uhr

  • @Para – Dieser Beitrag sagt, dass Sie es so hoch wie den Speicher Ihrer Maschine einstellen können. Es sagt auch, dass der Standardwert 2 MB ist.

    – RustyTheBoyRobot

    19. Juli 2012 um 23:55 Uhr

  • Da dies PHP ist, hatte ich erwartet, dass es jeden Wert akzeptiert und nur SEGFAULT, wenn es die Grenze Ihres Computers erreicht ….

    – RustyTheBoyRobot

    19. Juli 2012 um 23:56 Uhr

  • Außerdem gibt es in der PNP.INI-Datei eine Einstellung: max_input_vars, die in meiner Version von PHP: 5.4.16 standardmäßig auf 1000 eingestellt ist $_COOKIE superglobal separat)” Ref.: php.net/manual/en/info.configuration.php#ini.max-input-vars

    – Nikolai Iwanow

    8. November 2013 um 13:01 Uhr

Der URL-Teil einer Anfrage (GET und POST) kann sowohl vom Browser als auch vom Server begrenzt werden – im Allgemeinen beträgt die sichere Größe 2 KB, da es fast keine Browser oder Server gibt, die eine kleinere Grenze verwenden.

Der Hauptteil einer Anfrage (POST) wird normalerweise* vom Server auf Byte-Größenbasis begrenzt, um eine Art von DoS-Angriff zu verhindern (beachten Sie, dass das Zeichen-Escape die Byte-Größe des Hauptteils erhöhen kann). Die gebräuchlichste Servereinstellung ist 10 MB, obwohl alle gängigen Server es ermöglichen, dies über eine Einstellungsdatei oder ein Bedienfeld zu erhöhen oder zu verringern.

*Einige Ausnahmen gibt es bei älteren Mobiltelefonen oder anderen kleinen Gerätebrowsern – in diesen Fällen ist es eher eine Funktion des für diesen Zweck auf dem Gerät reservierten Heap-Speicherplatzes als irgendetwas anderes.

  • Erzählen Sie etwas über die Browser-Limits, wenn Sie bedenken curl

    – Yugal Jindle

    13. Februar 2012 um 8:33 Uhr

  • Ich weiß, dass ich hier etwas hinterherhinke, aber Antworten wie diese sind der Grund, warum ich StackOverflow liebe. Über das hinaus, was erforderlich ist, und einige wertvolle Hintergrundinformationen liefern.

    – Siebenschläfer

    19. Juni 2013 um 19:23 Uhr

Was ist die Grosenbeschrankung einer Post Anfrage
Nikolai Iwanow

Außerdem gibt es in der PHP.INI-Datei eine Einstellung:

max_input_vars

was in meiner Version von PHP: 5.4.16 standardmäßig 1000 ist.

Aus dem Handbuch: “Wie viele Eingabevariablen dürfen akzeptiert werden (Limit wird separat auf $_GET, $_POST und $_COOKIE superglobal angewendet)”

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

  • Beachten Sie, dass dieser Wert standardmäßig auskommentiert ist, kommentieren Sie ihn also aus und ändern Sie den gewünschten Wert.

    – Alvaro Flaño Larrondo

    12. November 2020 um 14:34 Uhr

Was ist die Grosenbeschrankung einer Post Anfrage
Niles Chourasia

Sie können große Datenmengen posten, indem Sie die Variable php.ini setzen: max_input_vars
Die Standardgröße dieser Variable ist 1000, aber wenn Sie große Datenmengen senden möchten, müssen Sie die Größe entsprechend erhöhen. Wenn Sie die Größe nicht von ini_set aus festlegen können, müssen Sie dies tun htaccess oder indem Sie direkt Änderungen in der php.ini-Datei vornehmen.

max_input_vars  2500
memory_limit    256M

1646957650 613 Was ist die Grosenbeschrankung einer Post Anfrage
ChrisDeDavidMindflowAU

Wie David betonte, würde ich mich in den meisten Fällen für KB entscheiden.

php_value post_max_size 2K

Hinweis: Mein Formular ist einfach, nur ein paar Textfelder, kein langer Text.

(PHP-Kurzform für KB ist K, wie skizziert Hier.)

1646957650 158 Was ist die Grosenbeschrankung einer Post Anfrage
Ashfaq92

Standardmäßig hat die Post-Anforderung eine maximale Größe von 8 MB. Sie können es jedoch Ihren Anforderungen entsprechend ändern. Die Änderung kann durch Öffnen der php.ini-Datei (php-Konfigurationseinstellung) vorgenommen werden.

Finden

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

Ersetzen Sie 8 gemäß Ihren Anforderungen.

1641848325 11 Holen Sie sich jede Zeile aus
Hutch Moore

Eine der besten Lösungen dafür ist, dass Sie nicht mehrere oder mehr als 1.000 Eingabefelder verwenden. Sie können mehrere Eingaben mit beliebigen Sonderzeichen verketten, z. @.

Sieh dir das an:

<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'>

Verwenden Sie ein beliebiges Skript (JavaScript oder 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

Damit umgehen Sie die max_input_vars Ausgabe. Wenn Sie erhöhen max_input_vars in der php.ini-Datei, die für den Server schädlich ist, weil sie mehr Server-Cache-Speicher verwendet, und dies kann manchmal den Server zum Absturz bringen.

  • Ich sehe nicht, wie das Verketten von Variablen Speicher spart. Jedes ASCII-Zeichen belegt 1 Byte Speicherplatz. Ein String (technisch gesehen ein Char-Array, wenn ich mich nicht irre) verwendet n * 1 Bytes mit n als Stringlänge. Warum würde das Hinzufügen eines weiteren Zeichens den verwendeten Speicher reduzieren? In dieser Berechnung würden Sie für jedes ‘@’, das Sie der Zeichenfolge hinzufügen, ein weiteres Byte hinzufügen. Natürlich reduzieren Sie die Anzahl der verwendeten Variablen, aber Sie bezahlen diesen “Gewinn” mit zusätzlicher Arbeit, um sie wieder aufzuteilen.

    – DBX12

    24. Oktober 2016 um 13:53 Uhr


  • @ DBX12 Während Sie mit diesem Trick keinen Speicher sparen, können Sie die umgehen max_input_vars Option in der php.ini mit diesem. Nicht genau das, was gefragt wurde, aber dennoch nützlich.

    – RicoBrassers

    10. April 2017 um 14:55 Uhr

  • Die Überschreitung der Größenbeschränkung hängt von zwei Faktoren ab: Erstens, Größe der einzelnen Schlüssel/Wert-Strings, dh Zeichenanzahl auf der Schlüssel- und/oder Wertseite. Zweitens, die Menge der Schlüssel/Wert-Paare, selbst wenn jedes Paar eine kleine Zeichenmenge hat. Insgesamt führen zwei der oben genannten Faktoren dazu, dass die Größenbeschränkung überschritten wird. Für mich ist diese Antwort also richtig und bezieht sich auf die Frage und hebt eine Seite eines Problems hervor.

    – Elnur Shabanov

    17. April 2020 um 11:34 Uhr

989360cookie-checkWas ist die Größenbeschränkung einer Post-Anfrage?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy