He creado una aplicación que usa jQuery y JSON para consumir un servicio web ASP.NET .asmx para realizar operaciones crud. La aplicación y .asmx están en el mismo dominio. ¡No me importa que la gente consuma las operaciones de lectura de .asmx de forma remota, pero no quiero que las personas eliminen cosas al azar!Bloquear llamadas de dominios cruzados al servicio web asp.net .asmx
Puedo dividir los métodos que me gustaría ser de acceso público y los 'ocultos' en 2 servicios web. ¿Cómo puedo bloquear las llamadas al servicio web 'hidden'.asmx' al mismo dominio en el que está alojado?
Gracias de antemano.
Editar: Puede alguien comentario sobre esta, parece plausible (fuente: http://www.slideshare.net/simon/web-security-horror-stories-presentation): Ajax puede establecer encabezados HTTP, formas normales peralte. Las solicitudes Ajax deben ser del mismo dominio.
Entonces las solicitudes "x-requested-with" "XMLHttpRequest" deben ser del mismo dominio.
¿Tiene una pregunta específica sobre esa presentación? Todo definitivamente se usa para comprometer sitios, pero con protecciones básicas estás a salvo. –
sí, es la parte donde dice que puede confiar en x-requested-with para decirle que es del mismo dominio y, por lo tanto, seguro. He hecho la misma pregunta hoy y estoy convencido de que cualquier encabezado http puede ser falso. no estoy muy seguro. de todos modos, he resuelto esto de otra manera (refactor importante) – jdee
pero muchas gracias por su ayuda. Definitivamente me puso en el camino correcto para resolver mi problema del mundo real. – jdee