tôi thấy bài viết MSDN sau đây về chủ đề này:
Security Considerations for Reflection
Jeff trả lời bài viết này tiếng vang của:
Reflection cung cấp khả năng có được thông tin về các loại và thành viên và để truy cập các thành viên. Truy cập các thành viên không công khai có thể tạo ra một nguy cơ bảo mật. Do đó, mã truy cập các thành viên không công khai yêu cầu ReflectionPermission với các cờ thích hợp .
Tuy nhiên, tôi không tin rằng rủi ro này có thể được khai thác giữa các tài khoản lưu trữ của khách hàng. Nó xuất hiện điều này sẽ chỉ gây ra một nguy cơ cá nhân. Ví dụ, sử dụng sự phản chiếu tôi có thể khám phá các hội đồng của riêng tôi trong môi trường lưu trữ của tôi.Tuy nhiên, các khách hàng khác không thể sử dụng sự phản chiếu để khám phá hội đồng của tôi. Họ chỉ có thể khám phá các hội đồng của họ.
Điều này có thể gây ra sự cố cho một ứng dụng web đơn lẻ liên quan đến nhiều nhóm phát triển. Một nhóm phát triển có thể sử dụng sự phản chiếu để khám phá các hội đồng của nhóm phát triển khác.
Tuy nhiên, đây là một trường hợp hiếm hoi đối với môi trường lưu trữ được chia sẻ. Hầu hết các trang web được chia sẻ lưu trữ liên quan đến một nhóm rất nhỏ có toàn quyền truy cập vào tất cả mã. Nói cách khác, không có bí mật. Miễn là hội đồng được an toàn từ các khách hàng chia sẻ lưu trữ khác, thì đó không phải là vấn đề.
Việc kích hoạt phản ánh không nên đặt ra bất kỳ rủi ro cho các ứng dụng web hosting chia sẻ nhất:
<IPermission class="ReflectionPermission" version="1" Flags="RestrictedMemberAccess"/>
Xin vui lòng sửa cho tôi nếu tôi sai.
Nguồn
2009-07-21 20:07:04
Tôi hoàn toàn không hiểu cách hoạt động của tính năng này. Ví dụ, trong một môi trường chia sẻ lưu trữ như thế nào tôi sẽ truy cập vào hội đồng của khách hàng khác? Làm thế nào tôi sẽ sử dụng sự phản chiếu để kiểm tra nội dung của các thuộc tính và phương thức riêng tư? –
Nếu bạn (ví dụ) chạy một dự án trang web, chứ không phải dự án ứng dụng web và bạn cung cấp cho người dùng cách tải tệp lên trang web của bạn, họ có thể tải lên trang ASPX được biên dịch khi được gọi - nếu sử dụng phản ánh để đọc trạng thái của ứng dụng của bạn, sau đó có thể là các chuỗi kết nối, v.v. có thể truy cập. Đó là một khả năng mỏng, nhưng không ai kém hơn, do đó "có thể" trong liên kết của bạn. Đừng quên rằng một số máy chủ không phải lúc nào cũng chạy môi trường tin cậy "vanilla", nhưng tùy chỉnh những tính năng nào và không có sẵn. –
Ben đánh tôi với nó. Tôi sẽ thêm một điều nữa: trong môi trường lưu trữ được chia sẻ, bạn thừa kế (một số) lỗ hổng bảo mật của các ứng dụng khác đang chạy trên máy chủ của bạn, vì vậy các khách hàng đồng nghiệp của bạn thậm chí không độc hại để gây nguy hiểm cho bạn, chỉ cần cẩu thả. –