实现插件框架的最佳方式 – DLL是唯一的方法(C/C++项目)?
介绍:
我目前正在开发一个C/C++文档分类器软件,我将使用Naive-Bayesian模型进行分类.但是我希望用户使用他们想要的任何算法(或者我将来想要的),因此我将体系结构中的算法部分分离为一个插件,该插件将附加到主应用程序@ app启动.因此,任何用户都可以将自己的算法编写为插件,并将其与我的应用程序一起使用. 问题陈述: 我打算开发这种方法的方法是让用户想要使用的每个算法都被制作成DLL文件并放入特定的目录中.一开始,我的应用程序将搜索该目录中的所有DLL并加载它们. 我的问题: (1)如果将恶意代码作为DLL(并且具有插件框架规定的相同功能)并将其放入我的插件目录中该怎么办?在这种情况下,我的应用程序会认为它是一个插件并选择它并调用其功能,因此恶意代码可以轻松地降低我的整个应用程序(在最坏的情况下可能使我的应用程序作为恶意代码启动器!!!) . (2)使用DLL是实现插件设计模式的唯一方法吗? (不仅因为害怕恶意插件,而且出于好奇心这是一个普遍的问题:)) (3)我认为很多软件都是用插件模型编写的,可扩展性如果是这样,他们如何防御这种攻击呢? (4)一般来说,您如何看待我决定使用插件模型进行扩展(您认为我应该考虑其他任何替代方案吗?) 谢谢 -MicroKernel (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2008 – 在没有guest虚拟机运行时,添加Hype
- 良好的开源错误跟踪/问题跟踪sofware for Windows
- 如何用R获取Windows机器的磁盘空间?
- windows-8 – 在Visual Studio 2012中发布MVC项目导致空文件
- 如何在Windows上使用iPython Notebook解决pandas的导入错误
- windows-server-2003 – Windows Server群集和奇怪的一天节
- 怎么把电脑桌面上的CAD图纸转换成BMP格式图纸?
- Windows 7 64操作系统上的内核数量是否有限制?
- WiX“重大升级”并未在降级时完全安装应用程序
- 在Windows上并行写入Java