Qt WebEngine 安全注意事项

本页涉及 QtWebEngine 用户的安全问题。作为 Qt 的一部分,QtWebEngine 遵循 Qt 的安全策略。有关政策信息,请参阅 "Qt 中的安全性"。

Chromium 发布和安全修复

QtWebEngine 跟踪 Chromium 的发布时间表。最新的 QtWebEngine 版本包含 Chromium 发布的安全修复。有关准确的版本号和已发布的修复,请访问维基页面QtWebEngine/ChromiumVersions

有关 QtWebEngine Core 如何实现 Chromium 功能和特定版本的更多信息,请阅读Qt WebEngine Core 模块部分。熟悉 Chromium 的安全策略也有好处。

Qt WebEngine 应用程序的安全主题

注意在应用程序中处理不受信任的数据和敏感数据。图像、用户信息和系统信息等数据可以从远程资源、应用程序内部或系统本地加载。在不降低性能和不暴露敏感信息的情况下,要注意如何以安全的方式处理不受信任的数据。即使泄露文件名和目录路径也会暴露敏感数据,如系统信息和数据库结构。

Qt XMLWebEngine 和 Chromium 具有同源策略等机制,可将从未知来源加载的风险降至最低。许多网站通过对话框和模仿流行网站来欺骗用户。使用 Qt WebEngine可以简单地加载并向最终用户显示可信数据,并锁定界面以防止不必要的输入。您的用户界面应该强大,能够处理错误输入和意外事件。

跨站脚本(XSS)是网络应用程序的一个严重安全问题。这种攻击涉及执行一段代码,诱使网络应用程序生成恶意 HTML 内容,以获取用户的信任。例如,您的应用程序在不知情的情况下使用恶意代码生成对话框,要求用户提供凭据。这些凭据随后会被发送到外部服务,从而导致账户被盗。由于生成对话框的是您的应用程序,因此用户会信任恶意操作。在解析 URL 时要小心谨慎,确保没有人可以滥用你的用户界面。

有关风险和缓解措施的更多信息,请参阅 "处理不信任数据"。

配置Qt WebEngine 设置

执行默认限制访问的零信任策略是一种良好做法。配置 Qt XMLWebEngine 部署可帮助限制用户和远程执行。QWebEngineSettings 具有可禁用 JavaScript 执行、禁用图像自动加载或其他机制的属性,以防止意外使用。例如,禁用QWebEngineSettings::LocalContentCanAccessFileUrls 可以创建一个类似于 Chrome 或 Firefox 的沙盒环境。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.