gpt4 book ai didi

c++ - QT 自定义插件 - 提高安全性的方法

转载 作者:行者123 更新时间:2023-11-28 06:09:00 28 4
gpt4 key购买 nike

我的自定义应用程序有这个简单的插件界面。

插件接口(interface).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

现在这允许用户为我的程序制作插件。但是,我担心可能会放入插件的恶意代码。我认为如果有一种方法可以确保无论插件内部发生什么,它都应该:

  1. 不允许访问互联网。
  2. 仅在其设计的程序目录内运行。
  3. 无法访问其他程序。 (无内存读写操作)

如果 QT 没有开箱即用的解决方案,那么我想一种解决方案可能是将命名空间和库列入黑名单或白名单。如果可能的话。希望像我这样的 QT/C++ 新手能做点什么。

最佳答案

如果不启动某种沙盒运行时,这基本上是不可能的。

为什么要担心恶意插件?这些插件是否来自互联网?您是否担心您的用户会下载随机垃圾并运行它?如果他们这样做了,那么他们很可能已经对其他所有事情都这样做了,您的软件应该是您最不担心的事情。 las,规范的解决方案是让您的软件强制执行插件签名,并让您的企业有一个审查和签署插件的过程,或者至少在插件 DLL 上强制执行标准的 MS 开发人员签名。

您基本上是在阻止用户按照他们认为合适的方式使用您的软件。作为用户,我不喜欢这种事情。

关于c++ - QT 自定义插件 - 提高安全性的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31683493/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com