是否可以阻止共享/动态库的网络访问?

时间:2014-12-31 15:47:20

标签: c++ qt sockets tcp shared-libraries

我正在学习如何创建API以使我的应用程序可插入,我在C++Qt中创建了一个演示应用程序,用户可以在其中添加例如应用程序的新按钮。

作为一项安全功能,我希望能够为应用程序用户提供一种方法来关闭他们希望插件的网络访问权限。例如,如果有人为我的应用程序创建了一个封闭的源代码插件,我想让用户阻止通过该插件执行的任何网络活动。

此外,我希望在不使插件在不同的进程中运行的情况下执行此操作。

所以我的问题是:是否可以关闭应用程序链接到的共享库的网络访问权限而不关闭整个应用程序的网络访问权限?

1 个答案:

答案 0 :(得分:1)

您在标题中提出的内容是不可能的,但您可以为插件网络访问创建一个API,该API在每个插件基础上具有阻止功能。这意味着您不会直接使用Qt的网络类,而是围绕它们创建包装器,检查该特定插件是否具有权限,如果不是,则不会发出任何网络命令。这也意味着您必须向可能为您的应用程序编写插件的人提供该API,并禁止他们直接使用Qt的网络类,而是使用您的包装器。