Tôi hiện đang làm việc trên một khuôn khổ rất dựa trên mô-đun và dựa trên plugin cho luận án cử nhân của tôi. Ý tưởng chính là, có một thư mục bên trong cấu trúc ứng dụng của tôi có tên là plugins
nơi bạn có thể thả các plugin được biên dịch (ví dụ: .dll
-files), phù hợp với giao diện đặc biệt IPlugin
. Ứng dụng sau đó thực hiện các tác vụ bằng cách sử dụng plugin mà người dùng chọn. Vì vậy, nếu tôi muốn thực hiện tác vụ một lần trong một tệp PDF, tôi sẽ chọn PdfPlugin
và một lần trong tài liệu từ, tôi sẽ chọn DocPlugin
cho tác phẩm.Làm thế nào để ngăn chặn các plugin thực thi mã độc hại
Kết quả cũng được xác định trong giao diện, vì vậy mọi plugin đều trả về cùng cấu trúc dữ liệu. Chỉ công việc thực tế khác nhau đối với mỗi thư viện.
Bây giờ, vì ứng dụng chỉ gọi các phương thức được xác định trong giao diện, ví dụ: ParseDocument()
và như vậy, làm cách nào để ngăn các plugin (có thể đã được các bên thứ ba phát triển) thực thi mã độc hại?
Tôi đang làm việc trên .NET3.5 (có thể sẽ chuyển sang 4, chưa được quyết định) và C#.
Có thể truy vấn plugin cho quyền truy cập Code Security Security nào không? So với những thứ như ý định trên Android? I E. Tôi có thể muốn có một khuôn khổ plugin cho phép tôi để xác định những gì quyền truy cập một plugin được yêu cầu, vì vậy tôi có thể nhắc người dùng xác nhận trước khi tải các plugin. Hoặc là nó theo cách khác xung quanh, trong đó tôi thực thi quyền trong ứng dụng của tôi, và sau đó các plugin chỉ đơn giản là thất bại/ném ngoại lệ nếu nó cố gắng làm một cái gì đó bên ngoài các điều khoản cho phép? – AaronLS
Không yêu cầu "làm thế nào để" như là loại ra khỏi phạm vi của câu hỏi, nhưng tò mò mà trong hai cách tiếp cận khác nhau CAS là thích hợp cho. – AaronLS