Tôi là người mới bắt đầu làm việc trên tập lệnh đăng nhập bằng PHP. Đây là tuyên bố mã thông báo biểu mẫu mà tôi có cho đến thời điểm này:Sử dụng mã thông báo biểu mẫu PHP và xử lý
$_SESSION["form_token"] = md5(rand(time(), true)) ;
Tuyên bố được phát hành ngay sau khi người dùng cho biết rằng họ muốn đăng nhập.
Hiểu biết hạn chế của tôi là mục đích mã thông báo là xác định người dùng duy nhất tại một thời điểm duy nhất và cải trang thông tin mã thông báo biểu mẫu.
Sau đó mọi thứ trở nên mờ. Dưới đây là 3 câu hỏi mở của tôi:
Khi nào là thời gian tốt nhất để "kiểm tra" mã thông báo biểu mẫu cho mục đích bảo mật?
Làm cách nào để kiểm tra?
Khi nào, nếu bao giờ, tôi có "hủy" mã thông báo biểu mẫu không? (IOW, hình thức thẻ sẽ ở lại "hoạt động" cho đến khi người dùng đăng xuất?
FYI MD5 có phần hạn chế và nếu bạn cần phải tạo ra một chuỗi ngẫu nhiên tôi đề nghị bạn sử dụng này để thay thế: $ id = sha1 (mt_rand()); Nếu bạn sử dụng rand() bạn chỉ nhận được 32.000 kết hợp có thể. – TravisO
liên quan: http://stackoverflow.com/questions/5111007/does-php-have-an-authenticity-token-like-rails – baptx