我的自定义应用程序有这个简单的插件接口。
插件接口.h:
#ifndef PLUGININTERFACE_H
#define PLUGININTERFACE_H
#include <QString>
class PluginInterface
{
public:
virtual QString Author() const = 0;
virtual QString Description() const = 0;
virtual bool Load() const = 0;
virtual bool Unload() const = 0;
};
Q_DECLARE_INTERFACE( PluginInterface, "MyPluginInterface" )
#endif // PLUGININTERFACE_H
现在这允许用户为我的程序制作插件。但是我担心可能会放入插件中的恶意代码。我认为如果有办法确保插件内部发生的任何事情都应该:
- 不允许访问互联网。
- 只能在为其设计的程序目录内操作。
- 无法访问其他程序。(无内存读/写操作)
如果 QT 没有开箱即用的解决方案,那么我想一种解决方案可能是将命名空间和库列入黑名单或白名单。如果这甚至是可能的。希望像我这样的 QT/C++ 新手能做些什么。