2009-08-18 18 views

Trả lời

13

Nếu bạn có nhiều ứng dụng chạy dưới cùng một tên miền trên cùng một máy chủ, bạn cũng có thể muốn có tên cookie phiên riêng biệt cho mỗi người, để họ không chia sẻ cùng một trạng thái phiên hoặc tệ hơn vẫn ghi đè lẫn nhau.

Xem thêm các ghi chú cho Forms Auth cookie name:

Chỉ định cookie để sử dụng để xác thực. Nếu nhiều ứng dụng đang chạy trên một máy chủ duy nhất và mỗi ứng dụng yêu cầu một cookie duy nhất, bạn phải cấu hình tên cookie trong mỗi tệp Web.config cho từng ứng dụng.

+0

Tôi không phải là chuyên gia ASP.NET, nhưng nó không đặt tham số 'đường dẫn' cookie cho phù hợp khi sử dụng nhiều ứng dụng trong cùng một tên miền? –

+0

@ Ferdinand Beyer - nó có thể làm, nhưng không có thuộc tính "đường dẫn" hoặc thậm chí "tên miền" trên cấu hình trạng thái phiên - lưu ý rằng cookie Biểu mẫu xác thực Đường dẫn ghi chú "Mặc định là dấu gạch chéo (/), bởi vì hầu hết các trình duyệt đều phân biệt chữ hoa chữ thường và sẽ không gửi lại cookie, nếu có trường hợp đường dẫn không khớp. ". Bạn đang mở cho mình một thế giới đầy tiềm năng của nỗi đau ở đó. –

+0

Tên cookie xác thực biểu mẫu không giống với tên cookie phiên (tên sau thường được gọi là ASP.NET_SessionId và có thể được thay đổi độc lập với tên của biểu mẫu/tên đăng nhập) –

2

1) Có thể (hơi) làm chậm một người nào đó (ngẫu nhiên) đang tìm kiếm.

2) Bạn có thể muốn che giấu sự thật rằng bạn đang chạy ASP.NET

+4

2) có thể đúng, nhưng giveaway đầu tiên cho ASP.NET sẽ có trong đánh dấu kết xuất và id mangling –

+0

Quà tặng bổ sung cho ASP.NET bao gồm sự hiện diện của phần mở rộng tệp phổ biến như .aspx, .asmx, .axd ; tiêu đề phản hồi từ IIS như x-powered-by: ASP.NET. Tinh tế hơn, có hành vi khóa phiên, theo đó yêu cầu sử dụng phiên phải hoàn thành trước khi yêu cầu khác có thể bắt đầu. –

0

Tôi nghĩ chủ yếu là vấn đề về hương vị. Một số người/công ty muốn kiểm soát mọi khía cạnh của ứng dụng web của họ và có thể chỉ sử dụng tên khác cho sự nhất quán với các tên cookie khác. Ví dụ: nếu bạn sử dụng tên thông số một ký tự rất ngắn trong suốt ứng dụng của mình, bạn có thể không thích tên cookie phiên như ASPSESSID.

Lý do bảo mật có thể áp dụng nhưng security through obscurity khá yếu trong quan điểm của tôi.

1

Liên kết bên dưới cung cấp thêm thông tin về lý do cookie phiên nên được đổi tên.

https://www.owasp.org/index.php/Session_Management_Cheat_Sheet

"Cái tên được sử dụng bởi các ID phiên không nên cực kỳ mô tả cũng không cung cấp chi tiết không cần thiết về mục đích và ý nghĩa của ID. Tên ID

Buổi sử dụng bởi các ứng dụng web phổ biến nhất khung công tác phát triển có thể dễ dàng lấy dấu vân tay [0], chẳng hạn như PHPSESSID (PHP), JSESSIONID (J2EE), CFID & CFTOKEN (ColdFusion), ASP.NET_SessionId (ASP .NET), v.v. Do đó, tên ID phiên có thể tiết lộ công nghệ và ngôn ngữ lập trình được ứng dụng web sử dụng.

Bạn nên thay đổi tên ID phiên mặc định của khung phát triển web thành tên chung, chẳng hạn như "id". "