05-16-2026, 12:55 PM
0
(05-16-2026, 12:17 PM)Tronlar escribió: Debes agradecer para ver el contenido...Con eso que propones si el servidor de la base de datos se satura, se cae, o la tabla u_miembros se corrompe por un fallo del sistema, la consulta va a fallar, va a decir, Error al ejecutar la consulta de la línea 20 de /var/www/html/vhosts/tuweb/includes/password.php., para un usuario normal ve un error y ve eso solo, un error, para uno que venga con la intención de atacar le estás dando la ruta interna de los archivos, sistema operativo, la estructura del servidor...
Código PHP: ( Seleccionar Todo )or exit( show_error('... línea '.__LINE__.' de '.__FILE__.'.', 'db') );
Sería así
Código PHP: ( Seleccionar Todo )$algorithm = defined('PASSWORD_ARGON2ID') ? PASSWORD_ARGON2ID : PASSWORD_BCRYPT;
$options = [];
if ($algorithm === PASSWORD_ARGON2ID) {
$options = [
'memory_cost' => 65536, // 64 MB
'time_cost' => 4,
'threads' => 2
];
}
$new_hash = password_hash($tsData['user_password'], $algorithm, $options);
$uid = (int)$data['user_id'];
$sql = "UPDATE u_miembros SET user_password = '{$new_hash}' WHERE user_id = {$uid}";
db_exec(array(__FILE__, __LINE__), 'query', $sql) or exit(show_error('Error en la base de datos.', 'db'));
Evitar ese "problema", solo debes agregar un excepción debajo del $new_hash y esto evita que continúe.
Código PHP: ( Seleccionar Todo )
$new_hash = password_hash($tsData['user_password'], $algorithm, $options);
if ($new_hash === false) {
throw new RuntimeException('Error al generar hash de contraseña');
}


Facebook
Twitter
Reddit
Digg
del.icio.us
Tumblr
Pinterest
Blogger
Fark
LinkedIn
Mix
Google