Tôi đang ở giữa mã hóa biểu mẫu đăng nhập 'nhớ tôi', và cho đến nay các hướng dẫn tôi đã đọc (một phần để đảm bảo rằng tôi đang làm đúng) tất cả đều nói để lưu trữ mật khẩu được mã hóa trong một cookie cùng với tên người dùng. Sau đó, mỗi khi PHP kiểm tra nếu người dùng hiện tại không đăng nhập, hãy kiểm tra cookie của họ và tìm những giá trị đó. Nếu tên người dùng khớp với mật khẩu, bạn đang ở.PHP "Remember Me" lỗ hổng bảo mật?
Với tôi, đây là lỗ hổng bảo mật định hình. Nếu ai đó đã hack cơ sở dữ liệu hoặc bằng cách nào đó có quyền truy cập vào các mật khẩu được mã hóa, họ thậm chí sẽ không cần phải crack chúng. Chỉ cần thiết lập cookie của riêng bạn và đi. Tôi có đúng hay chỉ là hoang tưởng?
Hệ thống đăng nhập của tôi sử dụng phiên để theo dõi id người dùng hiện tại và 1/0 cho kiểm tra đăng nhập/đăng xuất nhanh. Người dùng không thể chỉnh sửa phiên AFAIK, vì vậy điều này là an toàn (nếu không, vui lòng cho tôi biết). Tôi đã nghĩ đến việc chỉ lưu trữ ID phiên trong cookie, để sau này tiếp tục nó, nhưng điều đó cũng không an toàn.
Tôi quan tâm nhiều đến bảo mật của người dùng, làm cách nào để bảo vệ thông tin của họ một cách chính xác trong khi vẫn duy trì một trang web hoạt động?
Tôi sẽ không lưu mật khẩu được mã hóa, chỉ user_ID trong cookie hết hạn sau X ngày. Đối với các khu vực "nhạy cảm" (ví dụ: quản lý tài khoản/hồ sơ), bạn có thể yêu cầu họ đăng nhập nếu họ không có $ _SESSION hợp lệ (bạn nên đặt khi họ đăng nhập). – JennyDanger
Hiện tại bạn đang lưu trữ ID phiên nếu lưu trữ ID trong cookie là "không an toàn"? –
@georgefox hiện tại, tôi không lưu trữ ID phiên trong bất cứ điều gì, tôi chỉ nói rằng đó là khả năng để nhớ chức năng của tôi. – Scott