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. (respuesta original reviviendo el mensaje http://www.forosdelweb.com/f15/ocult...es-url-309541/ ) pregunta de principiante ¿donde he de crear las funcion para que me sirva para todas las paginas? Muchas ...
  #1 (permalink)  
Antiguo 21/07/2008, 10:00
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta ocultar variables de la URL

(respuesta original reviviendo el mensaje http://www.forosdelweb.com/f15/ocult...es-url-309541/)

pregunta de principiante

¿donde he de crear las funcion para que me sirva para todas las paginas?

Muchas gracias


Cita:
Iniciado por Hereje Ver Mensaje
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!

Última edición por AlZuwaga; 21/07/2008 a las 11:25
  #2 (permalink)  
Antiguo 21/07/2008, 13:04
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: ocultar variables de la URL

tal cual lo leiste en el codigo

cuando estas en tu codigo ASP, al realizar el enlace dinamico
Cita:
<%
dato_encriptado = funcion_encriptado(dato_a_encriptar)
%>
<a href="pagina.asp?variable1=<%=dato_encriptado%>"> link </a>
o simplemente omites la variable y utilizas directamente la funcion
Cita:
<a href="pagina.asp?variable1=<%=funcion_encriptado(dato_a_encriptar)%>"> link </a>
donde dato_a_encriptar, puede ser un campo del recordset o un resultado de cualquier operacion; o simplemente una variable de funcionamiento de tu sistema

eso ya dependeria de tu necesidad

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
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




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