Comment puis-je savoir quelle méthode (généralement GET ou POST) est utilisée pour la requête en cours?Découvrez la méthode HTTP en PHP
92
A
Répondre
165
$_SERVER['REQUEST_METHOD']
Voir the docs. Il contiendra la méthode de requête en majuscule (c'est-à-dire 'GET', 'HEAD', 'POST', 'PUT').
9
Lors de la vérification
$_SERVER['REQUEST_METHOD']
semble le choix évident, étant donné que certaines personnes préconisent des alternatives Superglobales sûres (Is using superglobals directly good or bad in PHP? et des questions similaires), on peut effectivement utiliser autosanitizing
filter_input(INPUT_SERVER, 'REQUEST_METHOD')
(éventuellement avec certains commutateurs de filtrage supplémentaires, par exemple FILTER_SANITIZE_SPECIAL_CHARS
) à la place.
Bien sûr, dans le cas normal (GET
/POST
) il n'y a rien à désinfecter, mais une bonne habitude est toujours une bonne habitude IMO.
Questions connexes
- 1. Découvrez quelle classe a appelé une méthode
- 2. Requêtes HTTP asynchrones en PHP
- 3. HTTP Digest s'authentifiant en PHP
- 4. $ 0 (nom du programme) en Java? Découvrez la classe principale?
- 5. PHP - HTTP Post - en-têtes incorrects
- 6. Formes HTTP utilisant PHP
- 7. Découvrez la langue d'un fichier ASPX
- 8. Découvrez hWnd où la souris est
- 9. Discussion sur la méthode 'didReceiveData' pour la connexion HTTP
- 10. Quelle méthode de compression utiliser en PHP?
- 11. Détection côté client de la méthode de requête HTTP
- 12. Ajouter la méthode HTTP GET au service Web C#
- 13. Accès à la méthode statique personnalisée PHP
- 14. HTTP persistantes GET variables PHP
- 15. PHP: Meilleure méthode pour la sortie séquentielle?
- 16. Requêtes HTTP non bloquantes en PHP orienté objet?
- 17. Problème lors de la récupération d'une valeur via la méthode $ _GET en php
- 18. Comment bloquer certains des agents d'utilisateur http en utilisant php
- 19. emploi PHP CRON, pas de sortie en-têtes HTTP
- 20. Découvrez ce que JVM Eclipse est en cours d'exécution
- 21. Comment nous pouvons envoyer l'url en utilisant la méthode Http Get dans Android Android
- 22. Comment récupérer les paramètres de la méthode HTTP GET en utilisant javax.ws.rs. * Et Glassfish?
- 23. PHP méthode d'encodage URL
- 24. Découvrez la cause d'un certain style CSS calculé
- 25. PHP ignorant la méthode __set à l'intérieur de la classe
- 26. Pouvez-vous traduire la fonction PHP quoted_printable_decode() en méthode/catégorie C/objectif basée sur NSString?
- 27. PHP Comment envoyer un paquet HTTP brut
- 28. NSTask renvoyant les en-têtes HTTP
- 29. Quel est le moyen le plus simple d'utiliser la commande HEAD de HTTP en PHP?
- 30. Découvrez le sous-domaine à l'aide de l'expression régulière dans PHP
Si vous voulez juste savoir s'il est '' GET' ou POST' ou tel, aucun filtrage est nécessaire. Cependant, vous voulez tester la méthode et, si elle ne correspond pas, vous pouvez revenir à l'erreur "méthode HTTP non comprise" (code HTTP 405). https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#405 –
@AlexisWilke Comme je l'ai dit, 'dans le cas normal (GET/POST) il n'y a rien à désinfecter'; OTOH, si le résultat (la valeur de la variable) est, par ex. (et pour une raison quelconque) utilisé par la suite, par ex. partie d'une chaîne de sortie ou d'un corps de script autogénéré, et (encore une fois, pour une raison quelconque) si le serveur web est buggé [(et il y a des bogues dans les serveurs web)] (http://archive.apache.org/gnats/) et enclin à injecter une méthode de requête invalide, cela pourrait * potentiellement * (bien que ce soit évidemment extrêmement improbable) [aboutir à l'exécution de code arbitraire ou à la génération de données] (https://xkcd.com/327/). – vaxquis