2010-11-22 43 views
23

Tôi khá bối rối về secret_token được sử dụng trong Rails. Bất cứ ai có thể giải thích những gì nó được sử dụng cho? Có thể đặt mã thông báo này vào kho lưu trữ nguồn công cộng và sử dụng nó trong sản xuất hay không, tôi nên thay đổi nó trước khi triển khai ứng dụng của mình để ngăn chặn một số loại tấn công?Mã thông báo bí mật Rails

Trả lời

31

Trả lời câu hỏi của riêng tôi - secret_token được sử dụng để ngăn chặn cookie giả mạo trong Rails. Mỗi cookie có một tổng kiểm được lưu với nó, vì vậy người dùng sẽ không sửa đổi nội dung cookie (và thay đổi id người dùng đã lưu để ăn cắp tài khoản của ai đó, ví dụ). Tổng kiểm tra dựa trên nội dung cookie và secret_token, vì vậy nếu bạn đang sử dụng các phiên dựa trên cookie, bạn nên luôn đảm bảo secret_token của mình thực sự bí mật, nếu không bạn không thể tin tưởng bất kỳ thứ gì bạn đưa vào phiên không đổi.

Các vấn đề liên quan