Vì vậy, điều này về cơ bản là đảm bảo rằng tôi đang thực hiện toàn bộ quá trình đăng ký/đăng nhập ngay khi băm/băm đi.Hashing & Salting - Xác thực đăng nhập bằng cookie
Tôi có bảng người dùng với mật khẩu trường, muối, mã thông báo (rõ ràng là có những người khác nhưng điều này là quan trọng nhất). Khi đăng ký nó tạo ra một muối ngẫu nhiên, và một mã thông báo ngẫu nhiên, và nó đặt trong lĩnh vực mật khẩu này:
hash("sha256", $theirpostpassword.$randomgeneratedsalt);
Đó muối được tạo ra ngẫu nhiên và mã thông báo được lưu trữ trong các lĩnh vực tương ứng của họ trong đó người dùng hàng trong bảng.
Vì vậy, khi đăng nhập, tôi chọn CHỈ muối từ hàng người dùng với tên người dùng mà họ chỉ định. Sau đó tôi thực hiện truy vấn đếm số lượng hàng có mật khẩu đăng của họ nối với muối cụ thể của họ và sau đó tôi đăng nhập vào. Khá chắc tôi có phần đó.
Bây giờ tôi đã suy nghĩ để xác thực đăng nhập của họ trên mỗi trang, tôi sẽ có một chức năng chạy mọi trang kiểm tra cookie của họ để xem định dạng id-username-token có khớp với hàng trong cơ sở dữ liệu hay không. Có nghĩa là mọi thông tin đăng nhập đều đặt cookie của họ bằng các thông tin đăng nhập đó.
Bây giờ điều duy nhất tôi có thể nghĩ đến để làm cho nó tốt hơn là thay đổi mã thông báo mỗi lần đăng nhập hợp lệ?
Cảm ơn những người thấu hiểu.
Tôi sẽ có mã thông báo phụ thuộc vào IP của người dùng từ xa, nhưng kiểm tra cookie đó - với thông tin đó- về mọi yêu cầu có vẻ hoạt động tốt. – ncuesta
Cảm ơn bạn đã phản hồi nhanh chóng, tôi đã chống lại việc kiểm tra IP hoàn toàn vì tôi biết có một số địa chỉ IP động thay đổi khá thường xuyên. –
Bạn không nên tự tạo hệ thống xác thực vì có quá nhiều thứ có thể sai. Sử dụng facebook connect/twitter sign in/openid etc thay vào đó! – Alfred