Pregunta

En los "Servicios Web REST" clásicos libro (O'Reilly, ISBN 978-0-596-52926-0) que dice en la página 251 "Algunos cortafuegos bloquean HTTP PUT y DELETE, pero no POST."

¿Es cierto esto todavía?

Si bien es cierto que tengo que permitir que la POST sobrecargado para sustituir a ELIMINAR.

¿Fue útil?

Solución

Los cortafuegos bloquea HTTP PUT / DELETE normalmente están bloqueando las conexiones entrantes (a los servidores detrás del firewall). Asumiendo que tiene controles sobre el servidor de seguridad que protegen su aplicación, que no deberían tener que preocuparse por ello.

Además, los servidores de seguridad sólo pueden bloquear PUT / DELETE si se realiza el examen de profundidad en el tráfico de la red. Cifrado impedirá cortafuegos desde el análisis de la URL, por lo que si usted está utilizando HTTPS (que está protegiendo sus datos con SSL, ¿verdad?) Clientes que acceden al servicio web podrán utilizar cualquiera de los cuatro verbos HTTP estándar.

Otros consejos

Algunas 7 cortafuegos capa podría analizar el tráfico a este grado. Pero no estoy seguro de cómo muchos lugares configuraría como tales. Es posible comprobar en serverfault.com para ver lo popular que podría ser una configuración de este tipo (que también siempre se puede comprobar con su personal de TI)

Yo no preocuparse por la sobrecarga de un POST para apoyar una solicitud DELETE.

HTML 4.0 y XHTML 1.0 solamente GET y POST apoyo peticiones (VIa) por lo que es un lugar común para túnel de un PUT / DELETE a través de un campo de formulario oculto que es leído por el servidor y dispathced apropiadamente. Esta técnica preserva la compatibilidad entre navegadores y permite ignorar cualquier problema de firewall.

Rubí rieles en .NET y tanto manejar las peticiones REST de esta manera.

Como un GET a un lado, POST, PUT y DELETE solicitudes son totalmente compatibles a través de la solicitud objeto XMLHttpRequest en la actualidad. XHTML 2.0 's apoya oficialmente GET, POST, PUT y DELETE también.

Se puede configurar un servidor de seguridad para lo que quieras (al menos en teoría) por lo que no se sorprenda si algunos administradores de sistemas no bloquean HTTP PUT / DELETE.

El peligro de HTTP PUT/DELETE es preocupante que algunos servidores mis-configure: PUT sustituye a los documentos (y los elimina DELETE ;-) en el servidor de destino. Por lo que algunos administradores de sistemas deciden encima de la derecha para bloquear PUT en caso de que se abra una grieta en alguna parte.


Por supuesto estamos hablando de servidores de seguridad que actúan en "capa 7" y no sólo en la capa IP; -)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top