sábado, 25 de junio de 2011

Proteger el blog con contraseña (Versión Estricta)

En el tutorial anterior vimos un script para proteger el blog mediante una contraseña. El script que citó nuestro colega deathdan93 de Gem@ al parecer no está funcionando de forma segura en los nuevos navegadores por lo que decidí hacer uno mucho más seguro que el anterior y que fuese muy dificil de descifrar.

Admito que fué un reto complicado y me tomó bastante tiempo ya que mi manejo en Javascript está en progreso, pero gracias a algunas guías pude obtener un muy buen resultado. El script en sí es muy simple, pero cumple muy bien su cometido debido a su estructura.

Tal ves te preguntes por qué es tan extensa la entrada para un script sencillo; la respuesta es que es por un tema de seguridad: Este script está hecho con el fin de proteger contenido, y si no se utiliza correctamente puede perderse la privacidad, por lo que no quiero causarles problemas por un mal uso.


El script:

Para utilizar el script deberás subirlo a un servidor y posteriormente añadirlo de la siguiente forma al blog:

En ''Diseño | Edición HTML'' busca la siguiente sección:
</head>

Arriba de esta pega el siguiente código:
<script src="http://hosting.ayuda-bloggers.info/50b4f9a226647/password2.js" type="text/javascript"></script>

Añade la dirección del archivo .JS con la nueva contraseña y guarda la plantilla.

Si deseas utilizar la contraseña que he seteado por defecto es la siguiente:
  • Usuario: altair
  • Contraseña: genova
¿Por qué esas palabras?

La contraseña debe ser NECESARIAMENTE de 6 letras.

1. Trabajando y configurando el script:

Vamos a explicar primero como trabaja el script primero observando el código:

/* Ayuda Bloggers
Este material fué creado por Cloudx18 para Ayuda Bloggers:
http://ayuda-bloggers.blogspot.com
*/

<!--

var login=prompt("Nombre de Usuario","")
var pass=prompt("Password","")
var passwordis="l" /* SEGUNDA LETRA DEL LOGIN */
var uni="e"      /* SEGUNDA LETRA DE LA CONTRASEÑA */
var dori="a" /* CUARTA LETRA DEL LOGIN */
var curi="i"      /* QUINTA LETRA DEL LOGIN */
var uni1="g"   
var cuteri="v"      /* QUINTA LETRA DE LA CONTRASEÑA */
var liberi1="t"     /* TERCERA LETRA DEL LOGIN */
var marco="n"      /* TERCERA LETRA DE LA CONTRASEÑA */
var marco1="r"     /* SEXTA LETRA DEL LOGIN */
var veri="a"       /* SEXTA LETRA DE LA CONTRASEÑA */
var veri1="z"
var opeck="g"       /* PRIMERA LETRA DE LA CONTRASEÑA */
var opeck1="t"
var opekc="o"       /* CUARTA LETRA DE LA CONTRASEÑA */
var opekc1="f" 
var shish="a"       /* PRIMERA LETRA DEL LOGIN */

if ((pass == ""+opeck+""+uni+""+marco+""+opekc+""+cuteri+""+veri+"")&&(login == ""+shish+""+passwordis+""+liberi1+""+dori+""+curi+""+marco1+"")) {
alert("Bienvenido.")
}
else {
alert("Acceso denegado, seras redireccionado")
parent.location.href ="http://ayuda-bloggers.blogspot.com"
}
//--->

Como se puede apreciar, le he asignado una ID a cada letra, estas están de forma desordenada por lo que será un poco confuso de entender, pero gracias a esto, la contraseña será muy segura.

He puesto a la derecha una descripción de cada letra para que puedan modificar el usuario y contraseña a su gusto. Si las ordenan se darán cuenta que dan como resultado ''altair'' y ''genova'' como usuario y contraseña respectivamente.

2. Cambiando el usuario y contraseña:

Recuerda que deberás cambiar la contraseña y usuario por palabras de la misma extensión (6 letras), guíate con la descripción de cada letra y verás que no es tan complicado como parece.


3. Guardando el script:

Recomiendo Notepad++ (Windows) o Gedit (Linux), pero si utilizas un editor de textos simples como Notepad, deberás guardar el archivo como un documento con extensión .js y en codificación UTF-8 o de lo contrario no funcionará.

Recuerda eliminar las descripciones ya que es un riesgo que se detallen datos.


4. Añadiendo el script al blog:

Expliqué anteriormente esta parte casi al principio de la entrada. Gracias a Roster a quien se le ocurrió la idea de cifrar el script anterior en un archivo .js le damos mas seguridad de la que ya tiene, pero si quieres añadir el script directamente en la plantilla puedes añadirlo de la siguiente forma:

<script type="text/javascript"><!--//--><![CDATA[//><!--

CONTENIDO DEL SCRIPT ACÁ

//--><!]]></script>

Recomiendo encarecidamente que lo cifren mediante un archivo .js

5. Explicaciones extras del script:

  • Debido a que el script anterior presentaba problemas al presionar en cancelar y la seguridad quedaba expuesta, al valor ''else'' se le ha asignado una alerta y además una redirección que lo saque del sitio.
  • Para definir un sitio reemplaza el valor http://ayuda-bloggers.blogspot.com por el deseado. Recomiendo utilizar un sitio como Google para la redirección.
  • Hay algunas letras que están sin descripción, esas son distractores sólamente, permiten ocultar un poco mejor la contraseña.


6. Futuras correcciones al script:

  • A futuro posiblemente haré que el script se muestre una sola vez cada cierto tiempo mediante el seteo de cookies, pero de momento no es posible debido a la falta de tiempo en la que me encuentro.
  • Se mostrarán nuevas variables para que el usuario pueda definir una mayor o menor cantidad de letras en la contraseña.

7. Recomendaciones:
  • Recomiendo utilizar el script sólamente para blogs experimentales (de prueba), blogs para público reducido (privados), etc. 
  • NO utilizar para blogs muy visitados ya que puedes poner en peligro tus visitas, el script se creó para sitios en los que se requiera privacidad.

8. Extras:

Si quieres que el script sólamente se muestre en la página principal hazlo de la siguiente forma:

<b:if cond='data:blog.pageType == "index"'>
CONTENIDO DEL SCRIPT
</b:if>


Agradezco a los que se dieron el tiempo de leer la entrada y trataron de comprender cómo se utiliza el script.

    No hay comentarios:

    Publicar un comentario