Pregunta

Solo necesito analizar URL Request.Querystrings en GET, no en devolución, ¿verdad?

if(!IsPostBack)
{
    Viewstate["magic_number"] = Parse(Request.Query);
}

No se puede esperar que el usuario modifique la URL en la Solicitud de devoluciones posteriores, ¿o sí?

Motivación para la pregunta: no controlo el fragmento de código JavaScript que hace la devolución, por lo que es algo de Blackbox para mí.

¿Fue útil?

Solución

Se espera que la URL no cambie. Pero recuerde que cada devolución es una nueva instancia de su clase de página. Entonces, si no guardó los resultados en algún lugar de la primera vista, debe estar preparado para hacerlo de nuevo en la siguiente, y así sucesivamente. En este caso, lo guardó en ViewState, por lo que debería estar bien.

Sin embargo, sospecho que no harías la pregunta a menos que hayas observado un comportamiento que te haya llevado a sospechar lo contrario. Así que consideremos por un momento qué cosas podrían hacer que esto se rompa:

  • Es posible modificar ViewState en el cliente donde guardó sus resultados (aunque no es trivial y definitivamente no es recomendable).
  • Puede falsificar una devolución de datos antes de la vista de la página inicial.
  • Puedes usar javascript para modificar la url publicada.

Sin embargo, por todas estas cosas, seguramente sabrá si ha escrito algo para hacer eso.

Otros consejos

Su suposición es correcta, no se espera que la URL se modifique en los respaldos de publicaciones posteriores y debe analizar la cadena de consulta solo en el GET, lo que sucede la primera vez que se carga la página.

La URL normalmente no cambia para una devolución de datos.

Por supuesto, es posible utilizar una herramienta como FireBug para editar la URL en la etiqueta de formulario antes de la devolución de datos, pero es probable que no desee el valor que el usuario inyectó, sino el valor original.

Como han señalado otros, no se espera que la URL cambie. Por supuesto, si viviéramos en un mundo perfecto, nunca recibirías correo no deseado y nadie intentaría hacer nada malicioso en tu sitio web.

En el mundo real, debe esperar que las personas malintencionadas intenten secuestrar su sitio web y deben preocuparse por cosas como ataques de inyección

Usted nunca debe hacer ninguna suposición de que los datos recibidos en una devolución de datos son válidos.

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