c# - ¿Cómo puede proteger/cifrar su cadena de consulta en asp.net?
security query-string (4)
¿Qué le parece agregar el valor que necesita a Viewstate? Viewstate puede encriptarse y validarse por usted.
ViewState["myKey"] = "myValue";
y luego más tarde
string myValue = ViewState["myKey"]
Para habilitar el cifrado:
<%@Page ViewStateEncryptionMode="Always" %>
o
<configuration>
<system.web>
<pages ViewStateEncryptionMode="Always" />
</system.web>
</configuration>
Me preguntaba cómo podría cifrar / descifrar su cadena de consulta en una página simple de asp.net. algunos valores deben pasarse entre diferentes páginas, pero la cadena de consulta no se puede cambiar ni leer.
Algunos dicen que httphandles podría ser la solución para esto.
¿Alguna idea?
MÁS INFORMACIÓN DE ANTECEDENTES:
Hola a todos por los comentarios. este es el problema, a veces las sesiones desaparecen sin ningún motivo (bueno, debe haber una, pero todavía no lo sé). He investigado las posibles razones, pero no hay nada que pueda causarlo. Por lo tanto, no puedo confiar más en eso. La solución de cookies es una posibilidad, pero será más difícil de implementar que simplemente usar la cadena de consulta. ¡La url se puede copiar en cualquier momento simplemente sin cambiar!
Cheers, M.
Tendrás que encriptarlo manualmente usando una de las encriptaciones .Net. Realmente, esta no es la cadena de consulta para. Si no desea que los usuarios puedan acceder a él, debe encontrar una forma diferente de pasarlo entre las páginas.
Aquí hay un proyecto que le mostrará cómo hacer un cifrado simétrico. http://www.codeproject.com/KB/security/SimpleEncryption.aspx
Me atrevo a mencionar esto, porque creará una sobrecarga significativa, pero puede publicar su información en el estado de vista y usar publicaciones de varias páginas para pasar la información:
Necesitaba hacer esto y solo como referencia esta fue mi solución elegida.
Use un HTTPModule para encriptar y descifrar. Luego, simplemente coloque el módulo en la web.config.
Lo encontré aquí; http://madskristensen.net/post/HttpModule-for-query-string-encryption.aspx
Aquí hay un proyecto que le mostrará cómo hacer un cifrado simétrico. http://www.codeproject.com/KB/security/SimpleEncryption.aspx
Me atrevo a mencionar esto, porque generará una sobrecarga importante, pero puede publicar su información en el estado de vista y usar publicaciones de varias páginas para pasar la información: