⊗ppPmAuHs 423 of 447 menu

Băm mật khẩu trên PHP

Lưu trữ mật khẩu ở dạng rõ ràng là không đúng. Hacker có thể giành quyền truy cập vào cơ sở dữ liệu của bạn và đánh cắp mật khẩu.

Vì vậy thông thường tên đăng nhập được lưu trữ ở dạng rõ ràng, còn mật khẩu được băm bằng hàm đặc biệt md5, hàm này nhận mật khẩu làm tham số, và trả về hash của nó, từ đó không thể khôi phục lại chính mật khẩu đó.

Ví dụ, hãy tìm hash của một chuỗi nào đó:

<?php echo md5('12345'); // sẽ hiển thị '827ccb0eea8a706c4c34a16891f84e7b' ?>

Bây giờ chúng ta cần chỉnh sửa phần đăng ký và phần xác thực của mình. Đầu tiên tôi khuyên nên xóa bảng người dùng, vì hiện tại ở đó mật khẩu được lưu trữ ở dạng rõ ràng, trong khi phải lưu trữ hash của chúng. Sau đó khi kiểm thử đăng ký, bảng sẽ được điền dữ liệu ở định dạng mới.

Bây giờ hãy sửa phần đăng ký của chúng ta để khi lưu người dùng mới vào cơ sở dữ liệu, không phải mật khẩu được thêm vào, mà là hash của nó.

Việc sửa đổi được mô tả sẽ đại diện cho một cái gì đó như thế này:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // chuyển đổi mật khẩu thành hash của nó $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Hãy áp dụng các sửa đổi tương tự trong xác thực:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // chuyển đổi mật khẩu thành hash của nó $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Hãy thực hiện thay đổi trong phần đăng ký có tính đến việc băm mật khẩu, đăng ký một vài người dùng mới, đảm bảo rằng họ đã được thêm vào cơ sở dữ liệu với mật khẩu đã được băm.

Hãy thực hiện thay đổi trong phần xác thực có tính đến việc băm mật khẩu, thử xác thực dưới tên của những người dùng đã đăng ký trước đó.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối