我对 QtWebKit 的安全性有疑问,我想禁用 X-Frame-Options,以便我可以在我的应用程序内的 iframe 中嵌入 facebook.com 等网站。

我知道可以使用 WebCore API(isWebSecurityEnabled 开关,http://trac.webkit.org/wiki/ConfigurableFeatures)来实现,但我没有找到任何使用 QtWebKit 实现的方法。

谢谢!

最佳答案

我遇到了同样的问题(但应用于带有渲染引擎 QtWebKit 的命令行浏览器 phantonjs ),分析问题后唯一的选择是修改 QtWebKit 的渲染行为。

好的,变化很小,我们只是将函数 FrameLoader::shouldInterruptLoadForXFrameOptions 更改为在任何条件下都返回 false ( https://github.com/deerme/phantomjs/blob/master/src/qt/qtwebkit/Source/WebCore/loader/FrameLoader.cpp#L2986 )。

在我的特殊情况下,我在 QtWebKit ( https://github.com/deerme/phantomjs ) 中做了一个小改动,对 phantonjs 存储库进行了 fork 。

因此,在您的特定情况下,您应该下载 QtWebEngine 的源代码并进行更改,最后您可以在 Qt 应用程序中使用修改后的 QtWebEngine。

关于security - 如何在 QtWebKit 中禁用 X-Frame-Options,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11901596/

10-09 09:07