Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं अपने कोड को और अधिक सुरक्षित बनाने के लिए पीडीओ के साथ पासवर्ड हैशिंग का उपयोग कैसे करूं?

बस एक पुस्तकालय का प्रयोग करें। गंभीरता से। वे एक कारण से मौजूद हैं।

इसे स्वयं मत करो। अगर आप अपना नमक खुद बना रहे हैं, आप इसे गलत कर रहे हैं . आपको एक पुस्तकालय का उपयोग करना चाहिए जो आपके लिए इसे संभालता है।

$dbh = new PDO(...);

$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
$hash = password_hash($password, PASSWORD_DEFAULT);

$stmt = $dbh->prepare("insert into users set username=?, email=?, password=?");
$stmt->execute([$username, $email, $hash]);

और लॉगिन करने पर:

$sql = "SELECT * FROM users WHERE username = ?";
$stmt = $dbh->prepare($sql);
$result = $stmt->execute([$_POST['username']]);
$users = $result->fetchAll();
if (isset($users[0]) {
    if (password_verify($_POST['password'], $users[0]->password) {
        // valid login
    } else {
        // invalid password
    }
} else {
    // invalid username
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLSTATE [HY000] [2002] एक कनेक्शन प्रयास विफल रहा.. - स्थानीय से दूरस्थ सर्वर से कनेक्ट करने का प्रयास करते समय

  2. ORD () उदाहरण – MySQL

  3. मुझे कंपोजिट इंडेक्स का उपयोग कब करना चाहिए?

  4. PHP और MySQL फ़ाइलों को कैसे अपलोड और डाउनलोड करें

  5. MySQL तालिका में varchar लंबाई का महत्व