Seguridad de devolución de datos
Pregunta
Últimamente he estado trabajando con los servicios web jQuery y * .asmx, y estoy tratando de ser consciente de la seguridad al hacerlo.
Supongo que sería posible enviar una solicitud AJAX, incluso cuando se desconecta, a un recurso al que solo debería estar accesible cuando se haya iniciado sesión.
Por lo tanto, incluyo claves especiales y hashes con cada una de estas solicitudes AJAX para validar el estado del usuario antes de realizar ciertas acciones del lado del servidor.
SIN EMBARGO
Siempre asumí que los Postbacks estaban a salvo en ese sentido. Ese .NET arrojaría un error si recibiera una solicitud que había sido manipulada.
¿Es una suposición segura? ¿O debo validar TODAS las solicitudes, ya sean recibidas a través de AJAX o un POST HTTP que no sea AJAX?
Supongo que ambos son HTTP POST técnicamente, pero el AJAX solo envía lo que se pasa de forma explícita, mientras que uno normal de ASP.NET incluye todos los valores del estado de visualización. ¿Es eso correcto?
Solución
No debe confiar en nada de lo que se obtiene a través de HTTP, es trivial fabricar una solicitud GET o POST.