Protección con contraseña (II)

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.

Contraseña: Contraseña codificada:
Página: .html Página codificada:

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

Contraseña:

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á).

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
HAY 50 COMENTARIOS
  • Marco dijo:

    A mi me parece un buen truco para proteger las paginas web. Ademas aunque quieras adivinar la contraseña codificada es imposible, porque te la pide. Saludos, Mar

  • Jovanny dijo:

    ESTÁ MUY BUENO EL CONTENIDO... ME GUSTÓ MUCHO, CLARO, CONCISO Y MUY FÁCIL DE ENTENDER.... ESPERO CON CON IMPACIENCIA QUE PUEDAN PONER CÓMO HACER QUE VARIOS USUARIOS TENGAN CONTRASEÑAS Y QUE ESE SCRIPT LAS AGUANTE SALUDOS DESDE CHILE......

  • Robert Yances dijo:

    ESTÁ MUY BUENO EL CONTENIDO... ME GUSTÓ MUCHO, CLARO, CONCISO Y MUY FÁCIL DE ENTENDER.... ESPERO CON IMPACIENCIA QUE PUEDAN PONER CÓMO HACER QUE VARIOS USUARIOS TENGAN CONTRASEÑAS Y QUE ESE SCRIPT LAS AGUANTE SALUDOS DESDE PERÚ......

  • Manuel Pérez de Castro dijo:

    Me preguntaba como puedo administrar y dar permisos con varios usuarios. Gracias Anticipadas. Salu2.

  • dgja dijo:

    ghagjhsgf

  • dgja dijo:

    ghagjhsgf

  • Gustavo Alegre Hidalgo dijo:

    Le envio este mensaje al autor de este artículo, está muy bueno, pero hay un problema con el: de que el código que nos propone en su artículo es incorrecto en una sección. Desde: function codificarP(pagina,num) { Hasta: } return codigo; Así que suplico que lo corrigan. Gracias.

  • candice nicolett olmedo franceschy dijo:

    Este articulo sobre la contraseña me ayudo bastante, lo que me gustaria saber, es como puedo hacer o que codigo necesito para poder hacer una busqueda dentro de mi pagina web. Estoy utilizando excel, ya que me permite guardarla la hoja de calculo como una pagina web, y necesito hacer la busqueda dentro de la misma. Espero me puedan ayudar.

  • doice dijo:

    Pues eso, yo creo que deberías de usar un algoritmo como el que usa unix que solo se puede desencriptar por fuerza bruta, o se necesita alguna función rara y el js no da pa tanto ?

  • warrlock dijo:

    oye ke si ke molaria ke ampliaras mas esto , sobre todo lo de soporte para varios usuarios , a mu chulo el scipt , y tambien me gustaria me dijeras komo puedo kambiar el kolor del boton , de la kasilla del pass. , y de las letras estas ******* , gracias.

  • Nicasio dijo:

    Si el script es leido por alguien que sepa un poco, no tardará en decodificar tanto la página como la password.

  • Juan Carlos dijo:

    Esta muy muy bien, quiero darte las gracias por esta ayudita que nos das a nosotros los novatos o iniciados en este extenso mundillo. Una preguntita: ¿como hago para distintos usuarios (y por ende claves)? De verdad te estoy muy agradecido, gracias a estos ejemplos y cursos estoy aprendiendo mucho.

  • fede dijo:

    quisiera saber una contraseña se un mail gracias

  • rc dijo:

    hace tiempo hice un muy programa para mi clase y le coloqué contraseña. el problema es que lo he olvidado. es para un complemento de excel, es decir, un archivo XLA, cómo puedo recuperarla ???

  • Alvaro dijo:

    Yo tengo una página web en iespana, y si pones en el directorio que quieras proteger un archivo de texto llamado password.txt y escribes lo siguiente: Mensaje que querais que salga;nombre;contraseña;nombre;contraseña; y así todos los "nombre;contraseña;" que quieras. Sustituye "mensaje que quereis que salga" por lo que querais, "nombre" por el nombre y "contraseña" por la contraseña. www.iespana.es

  • Juanjo dijo:

    Bien por el Script. Desde luego no es ni mucho menos un método de Seguridad Serio, pero al menos, sirve para parar al 90% de los usuarios Windows que no saben na de na de programación ni de JavaScript ni de html. La mayoría de la gente que navega sólo sabe Word, Windows y poco más y a un nivel de pena, sólo deciros que piensan que Ordenador = Windows y que Windows es el único Sistema Operativo. Ante eso, cualquier método de estos es infalible. Sin embargo, desde luego que a prueba de hackers no es, de hecho yo ya sé el método de codificación, pero no lo pienso explicar, el que sea programador que revise el código y el que no que siga pensando que su ordenador se llama Windows.

  • Carlos dijo:

    Hola, muchas gracias por este curso de html, me ha servido mucho, por que estoy haciendo un sitio y no sabia como ponerle contrase&ntilde;a, el problema es que si por alguna razon ya no puedo accesar tu pagina ¿como voy a hacer para poder codificar las contrase&ntilde;as? y quisiera saber, si me puedes decir, como codificar las contrase&ntilde;as y por favor, si me puedes escribir a mi email. De nuevo muchas gracias por todo, me ha servido mucho.

  • Jaiver dijo:

    Haber quisiera saber como puedo hacer para que cuando voy a la página que necesito con la contraseña me aparezca el mensaje de la contraseña, sin mostrarme el contenido(por supuesto); y luego de dar la contarseña me aparezca todo el contenido sin el fuente de la contraseña. Gracias el codigo es excelente.

  • Sunsete dijo:

    Actualmente estoy inovando mas en mi web, este truco es de los mejores que he visto(y facil) para la proteccion de datos con codigos...felicidades y seguir asi!!!! www.sunsete2002.es.vg

  • david dijo:

    tengo una pagina web 1 y en la que cuando pulso en un hipervinculo me lleva a la pagina web que quiero proteger (la llamo 2), estoy con front page y aplico el escript y cuando pulso a enviar no me sale la pagina 2 me da pagina no encontrada que hago mal?

  • corpol dijo:

    Esta bien pero yo pienso que ese pedazo de codigo se debe almacenar en fichero js. para no poder ver la contraseña codificada asi evitar por lo menos decodificarla

  • corpol dijo:

    pienso que para darle un toque final no estaria mal ponerle un close para el astuto que quiera meterse a fuerza se le pedira que abandone la pagina no estaria mal o hacerle otra cosita peor pero eso no lo voy a decir...

  • Gonzalo dijo:

    Como puedo poner un mensaje prompt en forma de password (*****),se puede bloquear el codigo fuente para que no lo puedan ver? Hay alguna manera. Gracias.

  • Sid Vicius dijo:

    Despues de buscar bastante para saber como poner una contraseña a mi pagina, encontré esto y me vino de perlas. Solamente quería evitar que entraran ciertas personas concretas en mi pagina personal, sin tener demasiada idea de hacer paginas web. Sencillamente kojonudo!!

  • Joarey dijo:

    No esta mal, pero de todas formas hay que proteger el código ya que es vulnerable y puedes hacerte fácilmente con la contraseña.

  • Perich dijo:

    A ver le cambio el nombre y el pass x los q yo kiero A meter el pass incorrecto me sa el mensaje emergente. Pero cuando le doy el pass correcto me da un error de pagina. No se como funciona. Soy algo novato en esto. como se tiene q llamar la pagian a la q kiero entrar una vez meto el pass? Help me.

  • nano dijo:

    Hola que tal tengo una pagina web y desde ahi un hipervinculo a otra, pero quiero que cuando de click sobre el hipervinculo me pida una contraseña para poder entrar....como hago.....gracias

  • CLAUDIA GARCIA dijo:

    HOLA, TENGO UNA HOJA DE CALCULO MUY IMPORTANTE EN EXCEL, LE PUSE CONTRASEÑA PERO HACE RATO NO LA REVISO Y HE OLVIDADO LA CONTRASEÑA, HAY ALGUNA MANERA DE RECUPERAR LA INFORMACION O LA CONTRASEÑA ?? GRACIAS CLAUDIA GARCIA

  • Alipiorex dijo:

    aviso a todos ese scriopt tiene un error, si tú pones como contraseña un numero por defecto se encripta "0" sea cual sea el numero por ejemplo en mi web : http://www.perurebelde.tk eh protegido mi diario de aslipiorex con este script pero cualquiera ingresa colocando el numero que se le venga en gana , si no me creen hagan la prueba y lena mi diario....asi que hay un bug!!!!!!

  • oscar dijo:

    nececito que me ayuden a encontrar la contraceña de mi computadora no puedo acceder a ella sin la contraceña manden opiniones de lo que puedo hacer

  • goretti dijo:

    Me gustaría saber como hago para que al entrar en mi página me pida contraseña. Muchas Gracias. Goretti

  • Edecio dijo:

    Hola, escribi el codigo, pero ¿como especifico a que sitio web deseo que permeta el acceso?, ya que deseo que los usuarios coloquen la contraseña y los envie a otra pagina web, y necesito ir ampliando el acceso a varios usarios. Gracias por su ayuda

  • Stan dijo:

    Hola, hace tiempo protegi un libro muy importante de Excel y, a pesar de que guardo la mayoria de contraseñas, esta no la encuentro por ningun sitio. Quisiera preguntar si es posible entrar en este libro sin la contraseña o bien si hay alguna forma de quitar la contraseña o encontrarla. Necesito una respuesta urgente Muchas gracias

  • Carlos dijo:

    Utilizad un cracker de contraseñas de escel, como passware, russian crackers, etc...

  • marco antonio dijo:

    Como le hago para poder dar diferentes contraseñas a diferents usuarios para ingresar a una misma pagina. gracias

  • Fer Martinez dijo:

    Después de poner la contraseña (y gracias por eso), cómo le hago para que una vez tecleada me envíe a la página que deseo? Saludos.

  • angel dijo:

    Un saludin, he implementado la contraseña para que me de paso a la pagina, pero con explorer no me sale, y con mozilla firefox si, que puede pasar? Muchas gracias...

  • NOEMA dijo:

    YA E HECHO MI PAGINA WEB PERO QUIERO SABER COMO PUEDO ENTRAR EN ELLA POR FAVOR DECIDME RAPIDO

  • Marcos García dijo:

    Me explico, con sólo saber el valor de cod2 te puedes saltar el control de acceso, ya que la ruta se encuentra cifrada dentro. y, sabiendo cod1 puedes sacar la contraseña. Ahora sólo falta saber como hacerlo, así que si queréis usar esto, adelante, pero sabed que no es irrompible.

  • Joaquin dijo:

    supongamos que la etiqueta es esta: function checkpass() { var p2=; var p1="a0Xp2Lz3"; p2=prompt('Por favor introduce tu contraseña!',' '); if (p1==p2) { alert('Contraseña correcta! Aprieta OK para entrar!'); window.location="pr.php?pass="+p1; } else { window.location="pr.php?pass=no"; } } La contraseña vedría siendo "a0Xp2Lz3" pero la página en la que puse esta etiqueta no funciona esta contraseña, como se podría arreglar la misma?

  • Joaquin dijo:

    supongamos que la etiqueta es esta: function checkpass() { var p2=; var p1="a0Xp2Lz3"; p2=prompt('Por favor introduce tu contraseña!',' '); if (p1==p2) { alert('Contraseña correcta! Aprieta OK para entrar!'); window.location="pr.php?pass="+p1; } else { window.location="pr.php?pass=no"; } } La contraseña vedría siendo "a0Xp2Lz3" pero la página en la que puse esta etiqueta no funciona esta contraseña, como se podría arreglar la misma?

  • DraGon dijo:

    Me gustaria saber si se puede poner una contraseña a una pagina de mi web solo a una donde quiero meter cosas q solo las vean los q tengan la contraseña y si hay algun codigo html os agradeceria q me los mandaseis un saludo DraGon

  • Xbyte dijo:

    Es muy sencillo si desean ponerle un password a una web , asi por ejemplo: http://usuarios.lycos.es/danielavalos , intenten entrar a la zona hack, les pedirá un password, en realidad son 3 hojas webs, una para crear los usuarios y contraseñas, y otra para darte de baja sino la sabes y claro a la que quieres ingresar,, si quieren los codigos contactenme. ok

  • marisa dijo:

    hola ya consegui la informacion que queria, no quisiera que este usuario figure en estas pagina, muchas gracias. por favor quiero evitarme un problema,gracias

  • iamin336 dijo:

    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.

  • gogely dijo:

    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

  • josse dijo:

    buenaso

  • cesar dijo:

    bueno quisiera saber coo jakear un msn xq me lo jakearon y quisiera recuperarlo xfa el correo fue [email protected]

  • Cecilia dijo:

    Jóvenes. Necesito saber si podéis accesar al password de [email protected] No tengo ideas de cosas de cómputo, pero me urge. Gracias.

  • odri dijo:

    Quisiera saber como podría proteger la pagina con contraseña y a la vez saber quien ha entrado.

Conéctate o Regístrate para dejar tu comentario.