我目前正在爲我的學士論文開發一個非常模塊化和基於插件的框架。主要思想是,在我的應用程序結構中有一個名爲plugins
的文件夾,您可以在其中插入符合特殊界面IPlugin
的編譯插件(例如.dll
-files)。應用程序然後使用用戶選擇的插件執行任務。所以,如果我想在PDF文件中執行一次任務,我會選擇PdfPlugin
,並且一旦在一個word文檔中,我會選擇DocPlugin
來完成這項工作。如何防止插件執行有害代碼
輸出也在接口中定義,因此每個插件都返回相同的數據結構。每個圖書館的實際工作都不相同。
現在,由於應用程序只是調用界面中定義的方法,例如ParseDocument()
等等,我該如何防止插件(可能由第三方開發)執行有害代碼?
我正在研究.NET3.5(也許會切換到4,尚未決定)和C#。
是否可以查詢一個插件,以獲取它想要的代碼訪問安全性權限?與Android上的意圖相比?即我可能需要一個插件框架,它允許我確定插件要求的權限,所以我可以在加載插件之前提示用戶進行確認。或者反過來,我在我的應用程序中強制執行權限,然後如果插件嘗試在允許的權限之外執行某些操作,則該插件只會失敗/拋出異常? – AaronLS 2013-05-02 18:29:24
不要求「如何」,因爲這是超出問題範圍的,但是很好奇這兩種不同方法中的哪一種適用於CAS。 – AaronLS 2013-05-02 18:32:30