Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/06/2006, 09:24
TheSaintRules
 
Fecha de Ingreso: junio-2006
Ubicación: Valencia, Venezuela
Mensajes: 22
Antigüedad: 18 años, 5 meses
Puntos: 0
De acuerdo Acceso mediante password

Si bien los accesos a páginas o áreas restringidas mediante password son mucho más seguras utilizando un lenguaje del lado servidor, me atrevo a proponer este método en javascript puesto que creo que, a pesar de realizarse desde el lado cliente es un método bastante seguro.

Basado en la idea original de Elig de usar imágenes como almacén de contraseñas en un directorio.

La idea es, en vez de guardar la lista de passwords en un listado en algún documento, guardar cada password como nombre de archivo de imagen de tipo gif (puede ser una imagen transparente de 1x1 píxels).

Configuración
Es importante que las imágenes/password estén guardadas en un directorio dedicado exclusivamente a guardar éstas imágenes/password (no guardar en ese directorio otras imágenes que sean mostradas en ninguna página del sitio)

En el caso de que las páginas se alojen en un servidor que tenga permiso de listado de directorio hay que poner en el directorio de las imágenes un html que lleve por nombre el default establecido por el servidor como página por defecto (index.htm, index.html, default.htm, default.html, etc). Si ésto no se hiciera así sería visible el listado de las imágenes y cualquiera podría entonces conocer todos los password.

Por lo demás, no necesita más configuración que guardar las imágenes en un sub-directorio que lleve por nombre pwrd (si se usa otro nombre habrá entonces que cambiar ese dato en el script).
Además en todas las páginas (tanto la de acceso como todas las que hayan de ser restringidas) deberán llevar insertadas en alguna parte (no importa dónde) una imagen de nombre trans.gif con un id="imagen" y name="imagen" y unas dimensiones de 0x0px (la imagen no es visible, además de por ser transparente, por sus dimensiones nulas).
Esta imagen deberá estar guardada en un directorio distinto de las de password (pwrd)

Imagen transparente [IMG]javascript.tunait.com/javascript/scripts/password/pass2/trans.gif[/IMG] (guardar)

Si la restricción de acceso ha de afectar a más de una página, para no tener que andar insertando el pass para cada página restringida se usa una cookie de sesión (se pierde en el momento de cerrar la ventana del navegador).
Todas las páginas que hayan de estar bajo la restricción de acceso habrán de llevar el mismo código.
Obviamente aquellos usuarios que tengan desactivadas las cookies no podrán acceder.

aqui esta el Codigo!!!

Código HTML:
<html>
<head>
<title>Acceso con Pass</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.pepe {
	font-family: Tahoma, Verdana, Arial;
	font-weight: normal;
	border: 1px solid #996600;
	color: #990000;
	background-color: #FFFFFF;
}
-->
</style>
<script language="JavaScript">
var pwrd
function comprueba(valor)
{
pwrd = valor
document.imagen.onload = acceso
document.imagen.onerror = denegado
document.imagen.src = "pwrd/" + valor + ".gif"; 
}
function denegado()
{location.href = 'denegado.htm'	}
function acceso()
{
document.cookie = escape('acceso=' + pwrd)
location.href = 'ok.htm'
}

</script>
</head>

<body>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#FFFFF0">
<form name="form1" onsubmit="comprueba(this.pass.value);return false">
        <table width="57%" align="center" class="pepe">
          <tr align="center"> 
            <td colspan="2"><strong><font size="2">Introduce tu password</font></strong></td>
          </tr>
          <tr> 
            <td width="35%" align="right"><strong><font size="2">Password</font></strong></td>
            <td width="65%"><input name="pass" type="password" class="pepe" id="pass"></td>
          </tr>
          <tr> 
            <td align="right"><img src="trans.gif" name="imagen" width="0" height="0" id="imagen" ></td>
            <td><input name="Submit" type="button" class="pepe" value="Comprobar" onclick="comprueba(this.form.pass.value)"></td>
          </tr>
        </table>
      </form></td>
  </tr>
</table>
</body>
</html> 

el archivo denagado Html seria asi

Código HTML:
<title>Denegado.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center"><h2>Acceso Denegado</h2></td>
  </tr>
</table>

</body>
</html> 
Espero te sirva de Algo Suerte!!!