¿Cómo proteger las contraseñas de la base de datos en PHP?

La mayoría de los sitios web brindan servicios de registro e inicio de sesión al usuario. El usuario debe crear una contraseña y usarla para iniciar sesión en el sitio web. Pero es muy importante asegurar la contraseña del usuario. La función password_hash() proporciona la posibilidad de almacenar de forma segura la contraseña del usuario en la base de datos.

Sintaxis 
 

password_hash(Password, PASSWORD_DEFAULT)

Ejemplo: El primer parámetro Contraseña contendrá la contraseña normal. El segundo parámetro contendrá PASSWORD_BCRYPT para que sea seguro; de lo contrario, contiene PASSWORD_DEFAULT de forma predeterminada. Veamos el ejemplo para entender correctamente. 
 

  • dbconn.php 
     

php

<?php 
  $db_host = "localhost";
  $db_name = "secure_pass";
  $db_pass = "";
  $db_user = "root";
 
  $conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
 
  if (!$conn){
    die ('Failed to connect with server');
  }   
?>
  • Formulario de registro: 
     

html

<form action="index.php" method="POST">
  <label for="username">Username</label>
  <input type="text" name="username" required><br><br>
 
  <label for="password">Password</label>
  <input type="password" name="password" required><br><br>
  <input type="submit" name="submit" value="submit">   
</form>
  • índice.php 
     

php

<?php 
  //Include database connection file
  include 'dbconn.php';
 
  if (isset($_POST['submit'])){
    $username = $_POST['username'];
 
    // Normal Password
    $pass = $_POST['password'];
 
    // Securing password using password_hash
    $secure_pass = password_hash($pass, PASSWORD_BCRYPT);
 
    $sql = "INSERT INTO login_tb (u_username, u_password)
    VALUES('$username', '$secure_pass')";
    $result = mysqli_query($conn, $sql);
  }
  
  // Include HTML sign up form
  include 'signup_form.php';
?>
  • Salida: Contraseña en la base de datos. 
     

secure database password in php

Publicación traducida automáticamente

Artículo escrito por akashmoradiya3444 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *