Как отключить X-Frame-Options в QtWebKit

У меня проблема с безопасностью QtWebKit, я хочу отключить X-Frame-Options, чтобы я мог встраивать такие сайты, как facebook.com, в iframe внутри своего приложения.

Я знаю, что это можно сделать с помощью WebCore API (переключатель isWebSecurityEnabled, http://trac.webkit.org/wiki/ConfigurableFeatures), но я не нашел способа сделать это с помощью QtWebKit.

Спасибо!


person Luis Cuende    schedule 10.08.2012    source источник
comment
вы нашли решение для этого?   -  person Daniel Georgiev    schedule 05.11.2015


Ответы (1)


У меня была та же проблема (но применительно к браузеру командной строки phantonjs с механизмом рендеринга QtWebKit), и единственный вариант после анализа проблемы — изменить поведение рендеринга QtWebKit.

Хорошо, изменение очень небольшое, мы просто меняем функцию FrameLoader::shouldInterruptLoadForXFrameOptions, чтобы она возвращала false в любом состоянии (https://github.com/deerme/phantomjs/blob/master/src/qt/qtwebkit/Source/WebCore/loader/FrameLoader.cpp#L2986).

В моем конкретном случае я сделал форк репозитория phantonjs с этим небольшим изменением в QtWebKit (https://github.com/deerme/phantomjs).

Итак, в вашем конкретном случае вы должны загрузить исходный код QtWebEngine и внести изменения, и, наконец, вы сможете использовать модифицированный QtWebEngine в своем приложении Qt.

person Pedro Vargas    schedule 26.09.2016