Wie kann ich herausfinden, welche Methode (in der Regel GET oder POST) für die aktuelle Anfrage verwendet wird?Finden Sie heraus, HTTP-Methode in PHP
92
A
Antwort
165
$_SERVER['REQUEST_METHOD']
Siehe the docs. Es enthält die Anfrage-Methode in Großbuchstaben (d. H. 'GET', 'HEAD', 'POST', 'PUT').
9
Während
Prüfung$_SERVER['REQUEST_METHOD']
scheint die offensichtliche Wahl, da einige der Menschen sicher superglobals Alternativen befürworten sind (Is using superglobals directly good or bad in PHP? und ähnliche Fragen), kann man eigentlich
autosanitizing verwendenfilter_input(INPUT_SERVER, 'REQUEST_METHOD')
(möglicherweise mit einige zusätzliche Filterschalter, zB FILTER_SANITIZE_SPECIAL_CHARS
) statt.
Natürlich, in der regulären (GET
/POST
) Fall gibt es nichts zu sanieren, aber eine gute Gewohnheit ist immer noch eine gute Gewohnheit IMO.
Verwandte Themen
- 1. Finden Sie heraus, wie viele Benutzer in PHP online sind?
- 2. Finden Sie heraus, das Produkt
- 3. Finden Sie heraus, Verbindungsintervall in ble android
- 4. Finden Sie heraus, was JVM Eclipse läuft
- 5. Finden Sie heraus, welche Schriftart matplotlib verwendet
- 6. Finden Sie heraus, ob Excel läuft
- 7. Finden Sie Nutzungsstatistiken von MySQL-Indizes heraus?
- 8. Finden Sie heraus, welche Methode mich
- 9. Finden Sie heraus, was ein Zufallszahlengenerator in C++
- 10. Finden Sie heraus, Benutzername (wer) Datei in C# geändert
- 11. Finden Sie heraus, ob Inhalt in jQuery Accordion auf Änderungsereignis
- 12. Finden Sie heraus, welche Flags wir in Setup.hs erstellen
- 13. Finden Sie heraus, welche Werte von `array1` fehlen in` array2`
- 14. Finden Sie heraus, FILESTREAM Freigabename in T-SQL
- 15. Finden Sie heraus, was App in Cache speichert
- 16. Finden Sie heraus, welche Eigenschaft auf ListChangedEvent in C# geändert
- 17. C# Finden Sie heraus variierende Spalte in HTML-Tabelle
- 18. Finden Sie heraus, wie viele Statusobjekte in einem Geschäft sind
- 19. Finden Sie heraus, welche Fremdschlüssel in Verwendung sind
- 20. Finden Sie heraus, welche Abfrage zunehmende DTU in SQL Azure
- 21. SourceTree: Finden Sie heraus, ob eine Verzweigung zusammengeführt wird
- 22. Finden Sie heraus, welcher Datenbankeintrag sich geändert hat
- 23. Finden Sie heraus, was Variable einen Nullpointer wirft programmatisch
- 24. Finden Sie heraus, wo Google Cloud SDK installiert ist
- 25. Finden Sie heraus, die SHA1 einer Datei aus dem Index
- 26. Finden Sie heraus, ob eine Eigenschaft als virtuell deklariert wird
- 27. Finden Sie heraus, welcher Prozess verhindert, Anwendungsdatendateien zu ändern
- 28. Finden Sie heraus, ob ein Open Graph Objekt vor
- 29. Finden Sie heraus, welche Merge-Basis gewesen wäre
- 30. Finden Sie heraus, wie viele Benutzer meine App verwenden
Wenn Sie wollen einfach nur wissen, ob es 'GET' oder' Post' oder so ist, wird keine Filterung erforderlich. Sie möchten jedoch die Methode testen und wenn nicht wie erwartet übereinstimmen, können Sie auf den Fehler "nicht verstandene HTTP-Methode" zurückgreifen (HTTP-Code 405). https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#405 –
@AlexisWilke wie ich schon sagte, 'im regulären (GET/POST) Fall gibt es nichts zu sanieren'; OTOH, wenn das Ergebnis (der Wert der Variablen) z.B. (und aus welchem Grund auch immer) weiter verwendet als z.B. Teil eines Ausgabe-Strings oder eines automatisch generierten Skript-Body und (wiederum aus welchem Grund auch immer) wenn der Webserver abgehört wird [(und es gibt Fehler in Webservern]] (http://archive.apache.org/gnats/) und dazu neigen, eine ungültige Anfrage-Methode zu injizieren, könnte dies * möglicherweise * (obwohl es natürlich extrem unwahrscheinlich ist) [führen zu willkürlichen Code-Ausführung oder Datengenerierung] (https://xkcd.com/327/). – vaxquis