¿Debería la aplicación web para los métodos PUT y DELETE devolver la misma respuesta que para GET?

1

Mi aplicación web para los métodos PUT, DELETE y cualquier método HTTP no deseado devuelve la misma respuesta que para el método GET (página principal html, no se carga ni se elimina nada), para TRACE hay respuesta 405. ¿Es esto inseguro? Muchos recursos recomiendan permitir solo GET y POST, ¿esto significa que la respuesta debe ser "405 Método no permitido"?

    
pregunta user187205 30.11.2017 - 17:36
fuente

2 respuestas

2

Bastantes sitios efectivamente estáticos ignoran el verbo HTTP utilizado y los tratan a todos como GET , con la excepción de HEAD , que solo devuelve los encabezados de la respuesta. Esto no es necesariamente un problema, si el sitio nunca usará los otros verbos, pero puede contribuir a una deuda técnica si comienza a usarlos en algún momento en el futuro.

Por ejemplo, si implementó una API que permitía la sustitución de contenido a través de las solicitudes PUT , usando el mismo código que sus páginas principales, pero olvidó restringir el uso de PUT a la API, podría terminar con personas capaces de editar tus páginas principales. Esto es un poco artificial, pero este tipo de cosas sucede.

En general, es sensato utilizar un enfoque de "verbos permitidos" y asegurarse de que si necesita algo diferente para una sección en particular de su sitio, solo funcione allí.

    
respondido por el Matthew 30.11.2017 - 18:16
fuente
1
  

Mi aplicación web para los métodos PUT, DELETE y cualquier método HTTP no deseado devuelve la misma respuesta que para el método GET (página principal html, no se carga ni se elimina nada), para TRACE hay respuesta 405. ¿Es esto inseguro?

Ya que esto es seguridad.SE, no programadores.SE, responderé solo sobre cómo esto se aplica a la seguridad: no hay una implicación real de seguridad al elegir 405s frente a fingir que todo es un GET.     

respondido por el Xiong Chiamiov 02.12.2017 - 17:37
fuente

Lea otras preguntas en las etiquetas