¿Cómo puedo averiguar qué método (generalmente GET o POST) se usa para la solicitud actual?Descubre el método HTTP en PHP
92
A
Respuesta
165
$_SERVER['REQUEST_METHOD']
Ver the docs. Contendrá el método de solicitud en mayúsculas (es decir, 'GET', 'HEAD', 'POST', 'PUT').
9
Mientras que el registro
$_SERVER['REQUEST_METHOD']
parece la opción obvia, ya que algunas de las personas que abogan por alternativas seguras Superglobales (Is using superglobals directly good or bad in PHP? y otras cuestiones similares), se puede utilizar realmente autosanitizing
filter_input(INPUT_SERVER, 'REQUEST_METHOD')
(posiblemente con algunos interruptores de filtrado adicionales, por ejemplo, FILTER_SANITIZE_SPECIAL_CHARS
).
Por supuesto, en el caso regular (GET
/POST
) no hay nada que higienizar, pero un buen hábito sigue siendo un buen hábito IMO.
Cuestiones relacionadas
- 1. Descubre qué clase llamó a un método en otra clase
- 2. ¿Cómo se implementa el método http post?
- 3. Descubre el tipo de proxy (http, calcetines 4/5) en Python?
- 4. Cómo detectar el método HTTP en CodeIgniter
- 5. servidor http en php
- 6. Solicitudes HTTP asíncronas en PHP
- 7. Descubre la clase de una invocación de método en el procesador de anotaciones para java
- 8. Método HTTP personalizado con el servidor HTTP de Nodejs
- 9. ¿Descubre Nodos Zeroconf/Bonjour?
- 10. Debian: Descubre el uso de la CPU usando bash
- 11. cómo enviar solicitud HTTP por el método GET en PHP a otro sitio web
- 12. ¿Cuál es el método predeterminado de HTTP?
- 13. Express.js obtiene el método http en el controlador
- 14. PHP eliminar encabezado HTTP
- 15. PHP SOAP HTTP Request
- 16. PHP HTTP Proxy Server
- 17. Descubre dispositivos móviles usando wifi
- 18. PHP cURL HTTP PUT
- 19. PHP HTTP Referrer
- 20. PHP: HTTP o HTTPS?
- 21. Método GET y PHP
- 22. RESTful Http DELETE método en .NET
- 23. ¿Cómo invocar el método HTTP POST sobre SSL en ruby?
- 24. Cómo usar el método HTTP DELETE en Google App Engine?
- 25. Detectar si el método HTTP (POST, GET) en jQuery.ajaxComplete()
- 26. Diferencia entre el método Get y el método de publicación en comparación con HTTP y REST
- 27. ¿Qué causa un error HTTP 405 "Método inválido (verbo HTTP)" al enviar un formulario a PHP en IIS?
- 28. Cómo configurar el encabezado usando el método http post
- 29. $ 0 (Nombre del programa) en Java? Descubre la clase principal?
- 30. El recurso solicitado no admite el método HTTP 'GET'
Si lo que desea es saber si es '' GET' o POST' o tal, no se requiere ninguna filtración. Sin embargo, si desea probar el método y si no coincide como se esperaba, puede recurrir al error "método HTTP no entendido" (código HTTP 405). https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#405 –
@AlexisWilke como dije, 'en el caso regular (GET/POST) no hay nada que desinfectar'; OTOH, si el resultado (el valor de la variable) es, p. (y por el motivo que sea) más utilizado, como p. parte de una cadena de salida o un cuerpo de script autogenerado, y (de nuevo, por cualquier razón) si el servidor web tiene errores [(y hay errores en los servidores web)] (http://archive.apache.org/gnats/) y propenso a inyectar un método de solicitud no válido, esto podría * potencialmente * (aunque, por supuesto, es extremadamente improbable) [dar como resultado la ejecución de código arbitrario o la generación de datos] (https://xkcd.com/327/). – vaxquis