我正在学习如何创建 API
以使我的应用程序可插入,我用 C++
和 Qt
创建了一个演示应用程序> 用户可以在其中向应用程序添加例如新按钮。
作为一项安全功能,我希望能够为应用程序用户提供一种方法来关闭他们希望这样做的插件的网络访问。例如,如果有人为我的应用程序创建了一个闭源插件,我想让用户阻止通过该插件执行的任何网络事件。
我还想在不让插件在不同进程中运行的情况下执行此操作。
所以我的问题是:是否可以在不关闭整个应用程序网络访问的情况下关闭应用程序动态链接到的共享库的网络访问?
最佳答案
你在标题中的要求是不可能的,但你可以为插件网络访问创建一个 API,它在每个插件基础上具有阻止功能。这意味着您不会直接使用 Qt 的网络类,而是围绕它们创建包装器,以检查该特定插件是否具有权限,如果没有,则在发出网络命令时什么都不做。这也意味着您必须向可能为您的应用程序编写插件的人提供该 API,并禁止他们直接使用 Qt 的网络类,而是使用您的包装器。
关于c++ - 是否可以阻止共享/动态库的网络访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27723278/