1 .
Elegir contraseña y página
2 .
Página de introducción de la contraseña
Os mostramos otra manera, algo más flexible que la anterior, de proteger
contra intrusos vuestras páginas.
Elegir contraseña y página
La mayor crítica que tenía el modo anteriormente propuesto era la
obligatoriedad de que la contraseña y el nombre de la página coincidieran.
En este caso, lo que haremos será codificar tanto la contraseña como el
nombre de la página de una manera un tanto extraña.
Teclead una constraseña y un nombre de página cualquiera teniendo
en cuenta las siguientes restricciones:
- Sólo pueden contener letras, no números ni otros caracteres.
- La página acabará en .html
- Si el nombre de la página excede en longitud en más de un carácter a la
contraseña, esos caracteres de más no estarán codificados.
En el código de la página tendremos dos variables que contendrán
la codificación de contraseña y página. Es difícil decodificarlos a mano
sin tener la contraseña pero, ojo, no es imposible. De hecho, es probable
que un buen hacker lo considere sencillo. Esta protección nos salvaguardará
de la mayoría de los usuarios, pero no de todos.
Página de introducción de la contraseña
Suponiendo que nuestra página tenga como contraseña
password y como página
bienvenido, éste sería el código
a utilizar:
password.html
<HTML>
<HEAD>
<TITLE>Introduce la contraseña</TITLE>
<SCRIPT LANGUAGE="Javascript">
<!-- Esconde el codigo a navegadores antiguos
var alfabeto= "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI"
var cod1 = "42691";
var cod2 = "COHOWITQHO";
function decodificar(formulario) {
passcod = codificarC(formulario.password.value,3);
if (passcod == cod1) {
aux = "" + codificarC(formulario.password.value,10)
pagina = decodificarP(cod2, aux);
location.href = pagina + ".html";
}
else
alert("La contraseña es incorrecta");
}
function codificarC(passw,num) {
var codigo = 0;
texto = passw.toUpperCase();
for (i=0; i<texto.length; i++) {
letra = texto.substring(i,i+1);
c = alfabeto.indexOf(letra,0) + 1;
codigo = codigo * num + c;
}
return codigo;
}
function decodificarP(pagina,num) {
var result="";
for (i=0;i<pagina.length;i++) {
letra=pagina.substring(i,i+1).toUpperCase();
a=alfabeto.indexOf(letra,0);
a-=(num.substring(i,i+1)*1);
if (a<0) a+=26;
result += alfabeto.substring(a,a+1).toLowerCase();
}
return result;
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="decodificador" onSubmit="decodificar(this); return false;">
Contraseña: <INPUT TYPE="password" NAME="password">
<INPUT TYPE="submit" VALUE="Entrar">
</FORM>
</BODY>
</HTML>
Es complicado y no voy a dar más que algunas pistas sobre cómo funciona,
ya que cuanto más se entienda este script, más probable es que alguien cree
un "rompedor" de contraseñas para él. Básicamente, lo que hace es codificar
la contraseña que le indiquemos y comprobar si coincide con la contraseña
codificada que tiene en la variable cod1.
En caso afirmativo, ya sabe que la contraseña es correcta y pasa a
decodificar la página.
La codificación de la página (contenida en la variable
cod2) es un conjunto de letras de igual longitud
que el nombre real de la página. Cada letra se separa de la letra original por
un número que depende de una codificación algo distinta de la contraseña. Es debido
a la naturaleza de dicha codificación a lo que se debe la restricción de las
longitudes a la que antes hacía referencia.
Podéis probar el ejemplo que acabamos de describir
Por supuesto, este ejemplo siempre se puede mejorar, con cosas como
soporte a varios usuarios. Pero eso es otra historia, y debe ser contada
en otra ocasión (si os interesa saberlo, claro está).
Últimos comentarios
Últimos 5 comentarios
Busqueda (18/04/2007)
Por
Jóvenes. Necesito saber si podéis accesar al password de mdinarte58@hotmail.com. No tengo ideas de cosas de cómputo, pero me urge. Gracias.
jakearon (27/03/2007)
Por
bueno quisiera saber coo jakear un msn xq me lo jakearon y quisiera recuperarlo xfa el correo fue cesar_mk_128@hotmail.com
bueno (06/10/2006)
Por
buenaso
mezclar este script con toolbar=no (26/04/2006)
Por
pues eso como hago para que si la contraseña es válida, la página que me abrá tenga oculta o bloqueada la barra de direcciones; porque con el script que has escrito si yo conzco de antemano la dirección a la que voy me puedo saltar el password escribiendo en la barra de direcciones, pero si tengo la barra de direcciones bloqueada tengo que usar el password a la fuerza.
gracias
...lAmMerCiLloS... (28/09/2005)
Por
Buen Intento joaquin, para los ke no lo sepan, el codigo en question ke pega joaquin, resulta \"casualmnte\" COINCIDIR con el de un reto de hacking de izhal .... asik me parece ke lo ke haces es.... TRAMPA! pero anyway.... no vas a sacarlo asi, porke no hay un error en el codigo, sino, copiate el html a tu pc y ejecutalo, cambiando lo ke tengas ke cambiar desde casa y ... kien sabe no?
Nota: en el momento de escribir este Post soy Brigada.
Saludos.