CAPITULO 8 HASH DE CONTRASEÑA
- Vamos a procedeer a registrar la contraseña hasheada en la bd en el momento del registro y despues en el login su posterior autentificacion
- que vamos a usar , pues vamos a usar crypt con el algoritmo blowfish
- El algoritmo Blowfish no puede ser aplicado en todos los sistemas. puedes revisar tu sistema con el siguiente codigo
Código PHP:
Ver original<?php
if (CRYPT_BLOWFISH == 1) {
echo "Yes";
} else {
echo "No";
}
?>
A partir de PHP 5.3.0 crypt , PHP contiene su propia implementación y la utilizará si el sistema carece de soporte para uno o varios de los algoritmos.
1 - registro, solo vamos a centrarnos en la pass los demas datos deberas tambien registrarlos en el mismo script pero eso no entra en este capitulo
Código PHP:
Ver original<?php
// validar datos del formulario, previamente
if(isset($_POST['password'])) {
// como ejercicio se debera verificar que la contraseña tiene mas de 8 caracteres por lo menos una mayuscula y una minuscula algun numero y algunos signos que se permitan .
// tambien se debera exponer en el formulario de registro la re-pass es decir pass y re-pass ambas deben de coincidir
if($_POST['password'] != $_POST['re-password'] )
{
// las contraseñas no coinciden
}
$password = $_POST['password']; // password
$algoritmo = '$2y$'; // blowfish
$coste = '10'; // coste
$salt= '$aquidebesponerelsalt$'; // el algoritmo coste y salt deberan ser el mismo en la pagina de validacion del login
$hash = crypt($password,$algoritmo.$coste.$salt);
// guardamos la pass $hash en la bd del usuario
}
?>
2 - login
Código PHP:
Ver original<?php
// validar los datos , previamente
// extraer la pass del usuario de la bd y comparamos
$password = $_POST['password']; // password
$algoritmo = '$2y$'; // blowfish
$coste = '10'; // coste
$salt= '$aquidebesponerelsalt$'; // el algoritmo coste y salt deberan ser el mismo en la pagina de validacion del login
$hash = crypt($password,$algoritmo.$coste.$salt);
if ($hash == $database['password'])
{
// acceso concedido
}
else
{
// acceso denegado
}
?>
Eso es todo sobre el capitulo 8 , si sabes otras maneras o mejorar lo expuesto o solo deseas mostrar tu opinion por favor exponlo .
Saludos nos vemos nuevamente con el capitulo 9
capitulos
1 - proteger directorios :link
http://www.forosdelweb.com/f18/segur...ml#post4410846
2 - mensajes de error : link
http://www.forosdelweb.com/f18/segur...ml#post4412140
3 - archivo de configuracion : link
http://www.forosdelweb.com/f18/segur...ml#post4412159
4 - permisos y roles : link
http://www.forosdelweb.com/f18/segur...ml#post4412275
5 - verificacion de archivos : link
http://www.forosdelweb.com/f18/segur...ml#post4412596
6 - configuracion de sessiones : link
http://www.forosdelweb.com/f18/segur...ml#post4416219
7 - session hijacking : link
http://www.forosdelweb.com/f18/segur...ml#post4419281