Foros del Web » Programando para Internet » Javascript »

¿Es este un código fiable para proteger acceso?

Estas en el tema de ¿Es este un código fiable para proteger acceso? en el foro de Javascript en Foros del Web. Me han pasado este código en js para restringir el acceso a una página. Ya he oido que para proteger páginas lo mejor es algún ...
  #1 (permalink)  
Antiguo 04/12/2002, 14:17
Avatar de Ellyza  
Fecha de Ingreso: agosto-2002
Ubicación: España
Mensajes: 176
Antigüedad: 22 años, 7 meses
Puntos: 0
¿Es este un código fiable para proteger acceso?

Me han pasado este código en js para restringir el acceso a una página. Ya he oido que para proteger páginas lo mejor es algún lenguaje del lado del servidor pero aún así me aseguran que es imposible lograr entrar si no se saben las claves, espero que algún maestro capaz de leerlo me lo asegure. Gracias de antemano:

Código:
<script><!--
CSStopExecution = false;
function CSAction(array) { 
	return CSAction2(CSAct, array);
}
function CSAction2(fct, array) { 
	var result;
	for (var i=0;i<array.length;i++) {
		if(CSStopExecution) return false; 
		var actArray = fct[array[i]];
		if (actArray == null) return false;
		var tempArray = new Array;
		for(var j=1;j<actArray.length;j++) {
			if((actArray[j] != null) && (typeof(actArray[j]) == "object") && (actArray[j].length == 2)) {
				if(actArray[j][0] == "VAR") {
					tempArray[j] = CSStateArray[actArray[j][1]];
				}
				else {
					if(actArray[j][0] == "ACT") {
						tempArray[j] = CSAction(new Array(new String(actArray[j][1])));
					}
				else
					tempArray[j] = actArray[j];
				}
			}
			else
				tempArray[j] = actArray[j];
		}			
		result = actArray[0](tempArray);
	}
	return result;
}
CSAct = new Object;

var actn1 = "";
var actn2 = "";
var pass=""
var z=23;
var y=28;
iCounter = 3;
if (Array) {
	var f= new Array();
	var K= new Array();
	var base= new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z","a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z")
}
function inc(){
iCounter--
if (iCounter > 0)
	{
	if (confirm("\nPassword is incorrect.\n\n\n\nRetry?"))
		Check()
	}
	else
		alert('Access Denied');
}
function Check(){
pass = prompt("Enter your password.","")
if(pass==null || pass==""){
	alert("You did not enter a password!");
	if(pass==""){
		Check()
	}
}
else{
	var lpass=(pass.length)+1
	for (l=1; l<lpass; l++){
		K[l]=pass.charAt(l)
	}
	var transmit=0;
	for (y=1; y<lpass; y++){
		for(x=0; x<62; x++){
			if (K[y]==base[x]){
				transmit+=f[x]
				transmit*=y
			}
		}
	}
	if (transmit==parseInt(actn1))
		go()
	else
		inc()
}
}
function go(){
alert(actn2);
location.href=pass+".html";
}
function PVpassword(action) {
if (Array) {
	actn1 = action[1];
	actn2 = action[2];
	z=23;
	y=28;
	for (x=0; x<10; x++){
		f[x]=x<<9
		f[x]+=23
	}
	for (x=10; x<36; x++){
		y=y<<1
		v= Math.sqrt(y)
		v = parseInt(v,16)
		v+=5
		f[x]=v
		y++
	}
	for (x=36; x<62; x++){
		z=z<<1
		v= Math.sqrt(z)
		v = parseInt(v,16)
		v+=74
		f[x]=v
		z++
	}
	iCounter = 3;
	Check();
}
}

// --></script>
  #2 (permalink)  
Antiguo 04/12/2002, 15:08
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 23 años, 2 meses
Puntos: 38
Elliza, la gracia de un script como ese radica en que tienes que tener demasiadas ganas o necesidad de violar la página como para que te leas y descifres esas funciones. Por ese mismo motivo, no voy a leerlo pero te puedo contar mis impresiones en abstracto.

Si no usas un lenguaje servidor no podrás guardar las claves en una base de datos, por lo tanto o lo tienes escrito en la página (muy escondido y encriptado) o es un valor único que tu misma prefijas (y no lo escribes en la página.

En el primer caso, cualquiera que tenga suficiente interés le va a llegar. Dalo por hecho. De la segunda manera puede que no si tu clave tiene relación con el nombre de la página. Revisa esto.

Saludos.
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 12:21.