Cookie xác thực tkt là băm bảo mật của một số thông tin, bao gồm tên người dùng và tùy chọn dấu thời gian, nhưng không phải mật khẩu người dùng. Sau khi được xác thực, bạn cung cấp cookie như vậy cho người dùng và mỗi lần người dùng trả lại bạn chỉ cần trích xuất lại tên người dùng và biết đó là cùng một người dùng.
Để giữ an toàn cho anbom này, bạn cần có bí mật phía máy chủ. Chỉ một máy chủ sở hữu bí mật đó mới có thể tạo ra các cookie này; nếu kẻ tấn công từng nắm giữ nó, anh ta có thể tạo cookie xác thực cho người dùng tùy ý mà không cần phải biết mật khẩu của những người dùng này.
Thông số secret
cho chính sách là bí mật phía máy chủ; nó giống như mật khẩu chính cho máy chủ của bạn. Nếu bạn chạy nhiều quá trình cho trang web của mình (và với WSGI, bạn thường làm), bạn cần phải làm cho nó nhất quán trong các quy trình của bạn, để đảm bảo mỗi quy trình có thể xác minh cookie. Bạn có thể chỉ định nó trong tệp cấu hình của bạn, trong mã nguồn của bạn, hoặc trong cơ sở dữ liệu của bạn; nó phụ thuộc vào mức độ linh hoạt mà bạn cần, các chính sách bảo mật của bạn và bạn có cần chia sẻ bí mật với các hệ thống khác hay không.
Bạn có thể chia sẻ bí mật với các hệ thống khác trong miền của bạn cũng cần phải xác thực người dùng của bạn, sử dụng cùng một tiêu chuẩn. Apache có mô-đun mod_auth_tkt
ví dụ, Plone sử dụng cùng một tiêu chuẩn và bằng cách chia sẻ bí mật, bạn có thể cung cấp đăng nhập một lần cho người dùng của mình trên các ứng dụng web khác nhau.
Lưu ý rằng việc thay đổi bí mật có nghĩa là các phiên hiện tại trở nên không hợp lệ và người dùng sẽ phải xác thực lại.
Trong mọi trường hợp, cookie hiện tại có thể có tuổi thọ giới hạn; dấu thời gian nhúng giới hạn thời gian nó sẽ được chấp nhận là hợp lệ, nếu bạn định cấu hình thông số timeout
về chính sách. Đó là chính sách tốt để đặt thời gian chờ, kết hợp với thời gian phát hành lại; bất kỳ người dùng nào truy cập lại ứng dụng của bạn trong thời gian chờ sẽ được cấp lại một cookie mới có dấu thời gian mới để giữ cho phiên của họ luôn mới. Theo cách đó, cookie phiên của bạn sẽ tự động hết hạn nếu người dùng của bạn không trả lại và cookie của họ không thể được sử dụng lại sau này. Tham số reissue
cho phép bạn kiểm soát tốc độ mã thông báo mới được phát hành; truy cập lại máy chủ của bạn trong vòng reissue
giây sẽ không tạo ra mã thông báo mới.
Nguồn
2012-10-07 10:06:31