Trong thời gian tôi đã dành thời gian nghỉ học cách PHP hỗ trợ Unicode, tôi đã tìm cách làm cho các cookie "Remember Me" của tôi an toàn hơn một chút. Tuy nhiên có một vài điều tôi không hiểu và một vài suy nghĩ của riêng tôi tôi muốn một số gợi ý và ý kiến.PHP: Ghi nhớ và bảo mật?
1) Có phương pháp nào để áp dụng tính năng "Ghi nhớ" không liên quan đến cookie không? Tò mò vì có lỗ hổng bảo mật rõ ràng trong việc lưu trữ cookie xác thực. Không phải là không có rủi ro về bảo mật trong mọi thứ.
2) Vì tôi không làm việc với thông tin ngân hàng hoặc "có độ nhạy cao", có cần phải yêu cầu người dùng nhập mật khẩu của họ cho các khu vực "cấu hình cao" hơn không? Dường như việc nhớ một thông tin đăng nhập sẽ là một sự lãng phí nếu chúng ta chỉ yêu cầu họ về cơ bản đăng nhập sau hai phút sau đó.
3) Phương pháp tốt nhất tuyệt đối để lưu trữ cookie xác thực (ngoài "không hề") là gì? Tôi hiện đã mã hóa khu vực đó để đặt một mã thông báo duy nhất trong cookie (được băm bằng cách sử dụng time(), tác nhân người dùng của họ, remote_addr và một muối - sha256). Khi người dùng nói trở lại, nó kiểm tra bảng 'phiên' cho mã thông báo, sau đó kết hợp IP với IP để đăng nhập. Nếu mã thông báo ở đó nhưng IP không khớp với âm thanh đó sẽ tắt cookie và yêu cầu họ đăng nhập nếu họ không có.
Cảm ơn mọi người một lần nữa.
Bạn nên sử dụng lại khung xác thực hiện tại bất cứ khi nào có thể, bởi vì, thực sự, nó phức tạp. Ví dụ, hãy xem https://github.com/delight-im/PHP-Auth Bạn sẽ cần một số lưu trữ liên tục ở phía máy khách cho những gì bạn đang cố gắng làm - và do đó các cookie là lựa chọn lý tưởng. – caw