Ver Mensaje Individual
  #70 (permalink)  
Antiguo 19/05/2005, 13:52
Avatar de Muzztein
Muzztein
 
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 3 meses
Puntos: 16
Seguridad

Siguiendo con las funciones de seguridad.

Esta funcion compara la procedencia del usuario contra la procedencia que el programador especificó para que determinado script se pudiera ejecutar de manera segura.

Util para asegurarse, por ejemplo ,que una pagina del tipo eliminar.asp?id=12 sea accionada de su correcto formulario y no de manera directa, impidiendo así a un usuario mal intensionado hacer acciones que no esta autorizado a hacer.



Código:
function checa_procedencia(procedencia_autorizada,dominio_autorizado)

	aux = Request.ServerVariables("HTTP_REFERER")
	
	if len(aux) = 0 or aux = "" then 
		checa_procedencia = false
		exit function
	end if
	
	arreglo			 = split(aux,"/")
	dominio_real	 = arreglo(2)
	procedencia_real = arreglo(ubound(arreglo))
	
	if lcase(procedencia_real) = lcase(procedencia_autorizada) and lcase(dominio_real) = lcase(dominio_autorizado) then
		checa_procedencia = true
	else
		checa_procedencia = false
	end if
end function

Donde procedencia_autorizada es el nombre del archivo ASP que DEBE invocar a nuestro script a ejecutar, y donde dominio_autorizado es el dominio o nombre de la web de donde el script se esta ejecutando. ej : "www.misitio.com"

Modo de uso

Código:
if checa_procedencia("1.asp","localhost") = true then 
	escribe "eres bienvenido" 
else
	escribe "no eres binevenido"
end if

Consumala a discrecion