\n
trong dòng sau, đang nhúng một dấu ngắt dòng, (Chỉnh sửa:một dấu ngắt dòng không thể được đưa vào mật khẩu do người dùng nhập vào) .
$password = password_hash($pass, PASSWORD_BCRYPT, $options)."\n";
và bạn cần xóa nó và bắt đầu lại với một hàm băm mới.
Jay Blanchard
, một thành viên ở đây trên Stack đã gửi một ghi chú
về nó cũng không quá lâu trong password_hash()
hướng dẫn sử dụng, đó là điều mà anh ấy và tôi đã thực sự nói về.
Một tùy chọn khác là sử dụng trim()
; điều đó cũng hoạt động (tại thời điểm băm).
$password = password_hash($pass, PASSWORD_BCRYPT, $options)."\n";
$password = trim($password);
// Store in db after
Tuy nhiên, bạn vẫn cần phải bắt đầu lại bằng cách xóa (các) hàm băm cũ và tạo các hàm băm mới.
Tuy nhiên, hãy nhớ rằng bạn không nên thoát mật khẩu.
Một ví dụ như 123'\abc
(hoàn toàn hợp lệ) sẽ được sửa đổi thành 123\'\abc
bởi real_escape_string()
; nó không cần thiết. password_verify()
hãy quan tâm đến vấn đề đó, về mặt bảo mật.