Sử dụng FormsAuthentication xây dựng vào asp.net nó rất nhanh chóng và dễ dàng để tạo ra một hệ thống đăng nhập mà tạo ra một cookie cho người dùng xác thực:FormsAuthentication: Có an toàn không?
FormsAuthentication.SetAuthCookie(uniqueUsername, false);
ghép với một số mã trong Web.Config tập tin :
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="30" defaultUrl="Dashboard.aspx" protection="All" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
này sẽ bị trả tất cả các yêu cầu về Login.aspx đến khi người dùng được phê duyệt và cookie được tạo bằng cách sử dụng cuộc gọi phương thức SetAuthCookie().
Tính năng này có đủ an toàn không?
Quy tắc chung mà tôi sử dụng là tôi không lưu trữ bất kỳ dữ liệu nào trên máy khách mà họ đã không gửi cho tôi. Vì vậy, những gì tôi đã làm trong quá khứ là giữ tên người dùng và mật khẩu được sử dụng trong một cookie, sau đó xác thực lại điều này với mọi yêu cầu.
Có thêm chi phí để xác thực lại mọi lúc bằng phương pháp này, nhưng điều đó cũng có nghĩa là tôi không lưu trữ bất kỳ dữ liệu máy chủ nào trên máy khách.
lo lắng của tôi
mối quan tâm của tôi là bằng SetAuthCookie() gọi phương pháp, mà tên người dùng được lưu trữ trên máy client. Là nó sau đó có thể cho một ai đó để phá vỡ mã hóa đang được sử dụng và thay thế tên người dùng được lưu trữ cho người khác?
Tôi nghĩ mình quá hoang tưởng và loại và mức độ mã hóa đang được sử dụng là đủ, nhưng tôi nghĩ tôi sẽ có được một số chuyên gia đầu vào về chủ đề này.
Sao chép có thể có của http://stackoverflow.com/questions/133106/how-secure-is-basic-forms-authentication-in-asp-net – 5arx
Tôi không bỏ phiếu để đóng, câu hỏi này không trùng lặp trực tiếp url được đề cập ở trên. –
Tại sao bạn có authorization> trong web.config? –
Rushino