我目前正在为我的学士论文开发一个非常模块化和基于插件的框架。主要思想是,在我的应用程序结构中有一个名为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