Tôi đã kiểm tra ứng dụng web của mình bằng tính năng Kiểm tra trong các công cụ dành cho nhà phát triển Google Chrome.Cách hiểu cảnh báo bảo mật trong google chrome cho tài nguyên tĩnh được cung cấp bởi Asp.net
Trước tiên, tôi nhận được cảnh báo, cho biết rằng chúng tôi đang phân phát nội dung tĩnh không thể lưu vào bộ nhớ cache của chúng tôi: "Các tài nguyên sau đây rõ ràng là không thể lưu vào bộ nhớ cache. Hãy cân nhắc tạo bộ nhớ cache nếu có thể".
Để sửa lỗi này tôi đã thêm đoạn mã này để chúng tôi web-config
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
theo khuyến cáo trong bài đăng blog này: http://blogs.msdn.com/b/carlosag/archive/2009/06/09/are-you-caching-your-images-and-scripts-iis-seo-can-tell-you.aspx
Nếu bây giờ tôi bắt đầu một cuộc kiểm toán mới trong google chrome, tôi nhận được một cảnh báo mới:
Các tài nguyên có thể lưu vào bộ nhớ công khai sau đây chứa tiêu đề Set-Cookie . Lỗ hổng bảo mật này có thể khiến cookie được chia sẻ bởi nhiều người dùng.
Bạn có thể giải thích mối đe dọa bảo mật tiềm ẩn và giải pháp có thể có trong Asp.net không?
[Cập nhật]
Sau khi một số nghiên cứu nhiều hơn, tôi đoán đây có thể liên quan đến câu hỏi này:
Why is ASP.NET forms authentication setting cookies on a static image request?
Nhưng tôi không thể đặt các câu đố với nhau. Tình hình không hoàn toàn giống nhau, trong khi ứng dụng của chúng tôi có thể được cấu hình để sử dụng xác thực biểu mẫu, tôi nhận được cảnh báo trong khi sử dụng xác thực cửa sổ.
Bạn có chắc chắn hai sự kiện được kết nối không? Mối đe dọa bảo mật là khá rõ ràng, cùng một cookie có thể được sử dụng bởi nhiều người dùng, điều này không phải là một vấn đề trên một máy tính người dùng duy nhất của khóa học. –
@Ramhound Ít nhất các công cụ chrome nghĩ rằng có một kết nối.Nếu tôi loại bỏ các hướng dẫn bộ nhớ cache từ webconfig tôi nhận được một cảnh báo thay vào đó: Các tài nguyên sau đây là rõ ràng không thể lưu trữ. Hãy xem xét làm cho chúng có thể lưu vào bộ nhớ cache nếu có thể: –
Bạn có thể thêm tiêu đề 'Cache-Control' với giá trị 'riêng tư', cho biết tài nguyên chỉ có thể được lưu vào bộ nhớ cache bởi máy khách chứ không phải bởi các máy trung gian. Bằng cách này, cùng một cookie không được trả về cho các máy khách khác nhau. –