Foros del Web » Programando para Internet » ASP Clásico »

ocultar variables de la URL

Estas en el tema de ocultar variables de la URL en el foro de ASP Clásico en Foros del Web. Hola.. como puedo encriptar u ocultar las variables que van en el url? es decir las que van en: <a href="pagina.asp?variable1=zapato&variable2=calcet in"> link </a> Es ...
  #1 (permalink)  
Antiguo 20/06/2005, 15:51
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
Pregunta ocultar variables de la URL

Hola.. como puedo encriptar u ocultar las variables que van en el url?

es decir las que van en:

<a href="pagina.asp?variable1=zapato&variable2=calcet in"> link </a>


Es decir que el usuario no pueda cambiar esas variables y ver los datos de otra persona por ejemplo.


Saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #2 (permalink)  
Antiguo 20/06/2005, 16:09
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Puedes utilizar el metodo Server.URLEncode, antes de enviar tus variables, eso disfrazara al menos un poco el asunto.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 20/06/2005, 16:49
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
muchas gracias, pero dónde lo pongo? antes del link? o armo el link con una variable a la que le aplico eso??

podrías poner un ejemplo?
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #4 (permalink)  
Antiguo 20/06/2005, 16:50
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Se lo tienes que aplicar a la variable o variables que vayas a enviar...

Response.Redirect("url.com?var="&Server.URLEncode( valor))
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 20/06/2005, 17:03
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 21 años, 10 meses
Puntos: 2
Sino podes enviar las variables por formularios, jugando con javascript.

Ej:

<form name="form" method="POST" action="paginadestino.asp">
<input type="hidden" name="var1" value="valor de la variable">
</form>

Luego desde el link:

<a href="document.form.submit()">Link donde envio las variables en post</a>

Espero te sirva de algo.

Un abrazo
__________________
Sergio
  #6 (permalink)  
Antiguo 21/06/2005, 07:46
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
Hola, gracias por las respuestas....

Si no logro lo del url encoder lo voy a hacer con formulario (es que tengo muchas líneas y prefiero evitar la modificación exagerada)

Estoy intentando hacer de esta manera:

response.write="<a href=""pagina2.asp?per=M4-Q2&ven=" & Server.URLEncode(vendedor) & """ target=""_blank"">M4-Q2</a>"

Pero no me resulta, me muestra la variable SIN encriptar.

Saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #7 (permalink)  
Antiguo 21/06/2005, 10:05
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 21 años, 10 meses
Puntos: 2
Es que siempre te la va mostrar sin encriptar, a menos que la encriptes!

Por ejemplo, las siguientes funciones (sacadas de las FAQ), sirven para encriptar y desencriptar cadenas de texto.

Código:
<%
	Base64Chars =	"ABCDEFGHIJKLMNOPQRSTUVWXYZ" & _
				"abcdefghijklmnopqrstuvwxyz" & _
				"0123456789" & _
				"+/"
				
	Public Function EncodeStr(byVal strIn)
		Dim c1, c2, c3, w1, w2, w3, w4, n, strOut
		For n = 1 To Len(strIn) Step 3
			c1 = Asc(Mid(strIn, n, 1))
			c2 = Asc(Mid(strIn, n + 1, 1) + Chr(0))
			c3 = Asc(Mid(strIn, n + 2, 1) + Chr(0))
			w1 = Int(c1 / 4) : w2 = (c1 And 3) * 16 + Int(c2 / 16)
			If Len(strIn) >= n + 1 Then 
				w3 = (c2 And 15) * 4 + Int(c3 / 64) 
			Else 
				w3 = -1
			End If
			If Len(strIn) >= n + 2 Then 
				w4 = c3 And 63 
			Else 
				w4 = -1
			End If
			strOut = strOut + mimeencode(w1) + mimeencode(w2) + _
					  mimeencode(w3) + mimeencode(w4)
		Next
		EncodeStr = strOut
	End Function

	Private Function mimedecode(byVal strIn)
		If Len(strIn) = 0 Then 
			mimedecode = -1 : Exit Function
		Else
			mimedecode = InStr(Base64Chars, strIn) - 1
		End If
	End Function

	Public Function DecodeStr(byVal strIn)
		Dim w1, w2, w3, w4, n, strOut
		For n = 1 To Len(strIn) Step 4
			w1 = mimedecode(Mid(strIn, n, 1))
			w2 = mimedecode(Mid(strIn, n + 1, 1))
			w3 = mimedecode(Mid(strIn, n + 2, 1))
			w4 = mimedecode(Mid(strIn, n + 3, 1))
			If w2 >= 0 Then _
				strOut = strOut + _
					Chr(((w1 * 4 + Int(w2 / 16)) And 255))
			If w3 >= 0 Then _
				strOut = strOut + _
					Chr(((w2 * 16 + Int(w3 / 4)) And 255))
			If w4 >= 0 Then _
				strOut = strOut + _
					Chr(((w3 * 64 + w4) And 255))
		Next
		DecodeStr = strOut
	End Function


	Private Function mimeencode(byVal intIn)
		If intIn >= 0 Then 
			mimeencode = Mid(Base64Chars, intIn + 1, 1) 
		Else 
			mimeencode = ""
		End If
	End Function
%>
Entonces, al construir la URL:

Código:
<a href="pagina.asp?variable1=<%= EncodeStr("zapato") %>&variable2=<%= EncodeStr("calcetin") %>"> link </a>
Cuando lo recibis:

Código:
dim var1, var2

var1 = DecodeStr(Request.QueryString("variable1"))
var2 = DecodeStr(Request.QueryString("variable2"))
Espero te sirva. Saludos!
__________________
Sergio
  #8 (permalink)  
Antiguo 23/06/2005, 07:22
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
Muchísimas gracias Herje; creo que al final haré lo del formulario :P

Saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #9 (permalink)  
Antiguo 23/06/2005, 07:50
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 5 meses
Puntos: 0
Tienes por ahí el método de encodificación sha256, aunque te genera unas cadenas batante largas, por lo que no las puedes pasar por URL.

De todas maneras, no tiene sentido que quieras pasar por ULR parámetros que no se puedan modificar. El usuario siempre podrá toquetear ahí arriba, y armar una gorda, así que si es algo importante, mandalo por formulario y te ahorrarás problemas.
__________________
Tu portal de manga y anime.
  #10 (permalink)  
Antiguo 23/06/2005, 08:57
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 1 mes
Puntos: 9
Lo del formulario es interesante, pero que pasaría cuando tengo por ejemplo un catalogo de ventas, que me salen 20 productos por página?, sería óptimo transformar cada uno de esos links en un formulario?, osea me quedarían 20 formularios por página, solo con dos campos hidden, uno que contendría el Id del producto y el otro la cantidad que el usuario elige. Estaría bien hacer eso?.
Un saludo.
__________________
Add, never Remove
  #11 (permalink)  
Antiguo 31/03/2011, 14:30
Avatar de hawkwindd  
Fecha de Ingreso: junio-2009
Mensajes: 73
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: ocultar variables de la URL

Hereje, me haz ayudado bastante, tu ejemplo me funciono muy bien.
Muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:44.