Lo que está en su cadena de consulta es visible y modificable por el usuario final. Esto significa que tienen el potencial de cambiarlo para ver o acceder a los datos que no deberían, o para influir en el comportamiento de su sitio/aplicación. Por lo tanto, huelga decir que no confías en nada en la cadena de consulta, y verifica todo antes de usarlo. Cuando lo verifique, no verifique que sea incorrecto con él (podría ser una lista infinita), en su lugar verifique que sea correcto. Si incluso uno de sus cheques falla, debe descartar los datos de la cadena de consulta o tratarlos como sospechosos. Si ha cifrado o codificado los datos en la cadena de consulta, aún puede tener efectos secundarios no deseados si el usuario se equivoca y confía ciegamente en ello, incluso si los cambios del usuario no tenían sentido debido a la codificación.
El único enfoque que tomo al almacenar datos confidenciales en la cadena de consulta es no hacerlo; en su lugar, almacenaré el lado sensible del servidor de datos (en la sesión, caché o una tabla en la base de datos) y luego tendré una clave generada aleatoriamente (generalmente un GUID) en la cadena de consulta para identificarla, para que la URL se vea de esta manera:
http://myurl.com/myPage.aspx?secretKey=73FA4A5A85A44C75ABB5E323569628D3
es bastante difícil de fuerza bruta un GUID y las posibilidades de una colisión GUID son infinitesimalmente pequeña, así que si los líos usuario final con la cadena de consulta a continuación, que terminan siendo nada.
Este enfoque también funciona bien cuando necesito almacenar muchas cosas y la cadena de consulta comienza a ser demasiado larga; los datos que necesitan ser rastreados se pueden guardar en un objeto que luego se almacena en la sesión o caché, y una vez más GUID se usa como su clave.
La longitud también debería ser una consideración ya que algunos navegadores tienen un límite. – Victor
Las URL no distinguen entre mayúsculas y minúsculas – IrishChieftain
Recomiendo echar un vistazo al enrutamiento url de estilo mvc como una alternativa a las cadenas de consulta. – asawyer