Tôi khá bối rối bởi tầm quan trọng của bí mật phiên . Tôi đang nhảy vào phát triển web với Express và Node, và tại thời điểm này, tôi đang cố gắng thực hiện một đăng nhập đơn giản. Mã dưới đây được lấy từ ví dụ về phiên trong Express.Tầm quan trọng của khoá bí mật phiên trong khung web Express
// Required by session() middleware
// pass the secret for signed cookies
// (required by session())
app.use(express.cookieParser('keyboard cat'));
// Populates req.session
app.use(express.session());
Sử dụng "mèo bàn phím" làm bí mật phiên. Nhiều thứ tôi đã xem xét về bí mật phiên làm tôi khuyên tôi nên thay đổi điều này thành một thứ gì đó tùy chỉnh. Bây giờ tôi có 3 câu hỏi cụ thể liên quan đến điều này.
- Tại sao tôi không thấy điều này trước khi tôi làm việc với PHP?
- Bí mật phiên được sử dụng chính xác là gì?
- Giả sử tôi thay đổi khóa phiên. Mã của tôi là mã nguồn mở. Sẽ không thay đổi điều này là một chút dư thừa trong trường hợp đó? Tôi không thấy yêu cầu người dùng sử dụng khóa tùy chỉnh làm tùy chọn.
- Tôi đã nghĩ đến việc tạo một UUID ngẫu nhiên để điền vào khóa. Có vấn đề với điều này? (về mặt an ninh)
Tôi nghĩ rằng câu trả lời được đánh dấu là thiếu điểm, đó là liệu 'bí mật' có tạo phiên an toàn hơn không. Tôi khuyên bạn nên truy cập http://security.stackexchange.com/questions/92122/why-is-it-insecure-to-store-the-session-id-in-a-cookie-directly để thảo luận kỹ lưỡng hơn (không phải chỉ có câu trả lời bình chọn hàng đầu có liên quan). – argaz
@argaz Tôi thấy rằng liên kết thực sự mang tính thông tin. Bạn có sẵn sàng để thêm bình luận của bạn như là một câu trả lời? – gluxon