Foros del Web » Programando para Internet » PHP »

seguridad de password

Estas en el tema de seguridad de password en el foro de PHP en Foros del Web. el siguiente código valida "si la contraseña es... entonces es..." es algo como lo que hace vbulletin. Código PHP: <?php function  pwd_strength ( $pwd ) ...
  #1 (permalink)  
Antiguo 28/08/2006, 02:24
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
seguridad de password

el siguiente código valida "si la contraseña es... entonces es..." es algo como lo que hace vbulletin.

Código PHP:
<?php
function pwd_strength($pwd)
{
  
$result 0;  # intialize to weakest
  
$result += round(strlen($pwd) / 10);
  foreach(array(
"a-z""A-Z""0-9""^a-zA-Z0-9") as $chars)
  {
    if(
preg_match("/[$chars]/"$pwd))
    {
      
$result += 1;
    }
  }
  return(
min($result6));
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang='en'>
<head>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
<title>Password Validation</title>
<style type="text/css">
body {
  font: medium arial, helvetica, sans-serif;
  margin: 0;
  padding: 1em 10%;
}
div {
  height: 20px;
  margin: 5px 0;
  padding: 0;
  border: solid 1px #333;
}
#str0, #str1 {
  width: 12%;
  background-color: #f00;
}
#str2 {
  width: 24%;
  background-color: #c30;
}
#str3 {
  width: 36%;
  background-color: #963;
}
#str4 {
  width: 48%;
  background-color: #693;
}
#str5 {
  width: 60%;
  background-color: #3c0;
}
#str6 {
  width: 72%;
  background-color: #0f0;
}
#rating {
  width: 72%;
  padding: 0;
  margin: 0;
  border: none;
  height: auto;
}
</style>

</head>
<body>
<h1>Password Strength Rating</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>Password: <input type="password" name="password" size="16" maxlength="16">
<input type="submit" name="submit" value="Rate Password"></p>
</form>
<?php
if(isset($_POST['submit']))
{
  
$strength pwd_strength($_POST['password']);
  echo 
"<p>Password strength (1 = very weak, 6 = very strong): ".
       
"<strong>$strength</strong></p>\n";
  echo 
"<div id='str$strength'></div>";
  echo 
"<div id='rating'><p style='float: left'>Weak</p>";
  echo 
"<p style='float: right'>Strong</p></div>\n";
}
?>
</body>
</html>
Ahora bien, como usted ven la contraseña se valida hasta que se le da un click al botón submit, lo que yo quiero hacer es validar mientras el usuario escribe en el campo input. Será posible? Saludos
__________________
Hospedaje Web al mejor costo!
  #2 (permalink)  
Antiguo 28/08/2006, 02:55
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 12 años
Puntos: 1
Hola urgido,

por ser posible si que lo es. Según yo creo, tienes dos opciones:
  • 1. implementar una función en Javascript que será llamada cuando pulses una tecla estando en el campo a validar.
    2. implementar una solución con AJAX [1] que se encargue de la validación con tu actual documento PHP
[1] http://wiki.script.aculo.us/scriptaculous/show/Demos
__________________
http://www.nosoynadie.net/

Última edición por nosoynadie; 28/08/2006 a las 02:57 Razón: estaba incompleto
  #3 (permalink)  
Antiguo 28/08/2006, 03:49
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
ya lo he resuelto sin necesidad de javascript o cualquier otro método. Saludos (Tengo que aceptar que me tomo resolverlo 1 hora y 45 minutos @[email protected])
__________________
Hospedaje Web al mejor costo!
  #4 (permalink)  
Antiguo 28/08/2006, 03:52
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 11 años, 3 meses
Puntos: 0
Si se puede saber, cómo has conseguido resolverlo sin javascript y sin recargar la página?
  #5 (permalink)  
Antiguo 28/08/2006, 03:56
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 12 años
Puntos: 1
comparte la solución, please
__________________
http://www.nosoynadie.net/
  #6 (permalink)  
Antiguo 28/08/2006, 04:36
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 12 años, 9 meses
Puntos: 25
todo es con onfocus="nombreform.submit();" de esta forma se auto envía. Para el form queda así:

Código PHP:
<form method="POST" action="#" onSubmit="return false" name="nombreform"></form
__________________
Hospedaje Web al mejor costo!
  #7 (permalink)  
Antiguo 28/08/2006, 05:38
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 12 años
Puntos: 1
ok! buena solución pero no era lo pensaba ya que entendí que hacías la validación sin enviar la página. Ciao
__________________
http://www.nosoynadie.net/
  #8 (permalink)  
Antiguo 28/08/2006, 06:27
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 11 años, 3 meses
Puntos: 0
Yo también pensaba que era sin recargar la página, algo así o tipo google
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 14:06.