⊗ppPmAuAHS 425 of 447 menu

Thêm muối vào quá trình ủy quyền

Bây giờ chúng ta cần thay đổi cơ chế ủy quyền. Ở đây những thay đổi sẽ đáng kể hơn.

Sẽ không thể kiểm tra tính đúng đắn của cặp đăng nhập-mật khẩu ngay lập tức bằng một truy vấn duy nhất nữa. Tại sao: bởi vì, để kiểm tra mật khẩu, cần phải lấy được băm mật khẩu đã được thêm muối của nó, mà muối được lưu trữ trong cơ sở dữ liệu và là duy nhất cho mỗi tên đăng nhập.

Sẽ phải trước tiên lấy bản ghi chỉ dựa vào tên đăng nhập, đọc muối, thêm muối vào mật khẩu đã nhập và so sánh với mật khẩu đã được thêm muối từ cơ sở dữ liệu và chỉ khi chúng khớp nhau, - mới ủy quyền người dùng.

Lưu ý rằng có thể xảy ra trường hợp tên đăng nhập được nhập không chính xác, trong trường hợp này có thể không thực hiện kiểm tra mật khẩu, mà ngay lập tức hiển thị thông báo rằng ủy quyền là không thể - dữ liệu không đúng:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // người dùng với tên đăng nhập này tồn tại, bây giờ cần kiểm tra mật khẩu... } else { // không có người dùng với tên đăng nhập này, hiển thị thông báo } ?>

Hãy thêm kiểm tra mật khẩu:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $salt = $user['salt']; // muối từ CSDL $hash = $user['password']; // mật khẩu đã thêm muối từ CSDL $password = md5($salt . $_POST['password']); // mật khẩu đã thêm muối từ người dùng // So sánh các giá trị băm đã thêm muối if ($password == $hash) { // tất cả ổn, tiến hành ủy quyền... } else { // mật khẩu không khớp, hiển thị thông báo } } else { // không có người dùng với tên đăng nhập này, hiển thị thông báo } ?>

Vì mục đích bảo mật, người dùng thường không được thông báo chính xác cái gì không khớp - tên đăng nhập hay mật khẩu, để làm phức tạp hơn việc thử các cặp đăng nhập-mật khẩu bởi các hacker. Chỉ đơn giản hiển thị thông báo rằng cặp đăng nhập-mật khẩu không đúng hoặc điều gì đó tương tự.

Hãy triển khai cơ chế ủy quyền với mật khẩu đã thêm muối như đã mô tả ở trên. Hãy thử đăng ký, đăng nhập, đảm bảo rằng mọi thứ hoạt động.

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