web-dev-qa-db-ja.com

クライアント側でX-Frame-Optionを無効にする

Firefox(およびChrome)のクライアント側でX-Frame-Optionヘッダーを無効にしたいのですが。私が見つけたもの: 「X-Frame-Optionsによって禁止されている表示」を克服する クライアント側以外のソリューションは私の目的には適していません

https://bugzilla.mozilla.org/show_bug.cgi?id=70789 これはかなり近いようです。コードuser_pref( "b2g.ignoreXFrameOptions"、true);を使用してプロファイルディレクトリにuser.jsを作成してみました。しかし、それは機能しませんでした。最後から2番目のエントリは、変更されたコードでffをコンパイルすることを意味しているようです。これが事実である場合、それは私にとっても可能な解決策ではありません。

YouTubeビデオのリストをiframeに連続してロードすることでループする、いくつかのJSを含む小さなHTMLページを作成しました。 YouTubeがプレイリストをサポートしていることは知っていますが、プレイリストはひどいので、動画をダウンロードしたくありません。また、ブラウザがローカルファイルのX-Frame-Optionのみを無視するのであれば便利です。これを無効にすることで、私が引き裂くセキュリティホールをいくらか最小限に抑えることができます。 Chromeに関しては、解決策は素晴らしいでしょうが、それほど重要ではありません。

別のアプローチは、HTTP応答を含む着信TCP/IPパケットを傍受し、このヘッダー行を削除することだと思いますが、これはかなりやり過ぎです。

[編集]多くの動画では埋め込みが許可されていないため、youtube.com/embedの使用は悪い回避策です...

15
Klausi Mausi

これは、Firefox拡張機能を介してHTTPオブザーバーを使用して簡単に実現できます。そのオブザーバーは次のようになります。

let myListener =
{
    observe : function (aSubject, aTopic, aData)
    {
        if (aTopic == "http-on-examine-response")
        {
            let channel = aSubject.QueryInterface(Ci.nsIHttpChannel);

            try
            { // getResponseHeader will throw if the header isn't set

                let hasXFO = channel.getResponseHeader('X-Frame-Options');

                if (hasXFO)
                {
                    // Header found, disable it
                    channel.setResponseHeader('X-Frame-Options', '', false);
                }
            }
            catch (e) {}
        }
    }
}

MDN [1] [2]にオブザーバーをインストールする方法などの詳細情報を見つけることができます。

[1]: https://developer.mozilla.org/en/docs/Observer_Notifications#HTTP_requests

[2]: https://developer.mozilla.org/en-US/docs/Setting_HTTP_request_headers#Registering

7
diegocr

Diegocrコードを使用して、ヘッダーにX-Frame-Optionsが含まれているWebページを表示できるようにするFirefoxアドオンを作成しました。これにより、iframe経由でアクセスしたときに表示されます。ここからダウンロード/インストールできます: https://addons.mozilla.org/en-US/firefox/addon/ignore-x-frame-options/

4
René Houkema

上記の他の回答RenéHoukema で言及されているFirefox拡張機能は機能しなくなったため、新しい拡張機能を作成しました。

https://addons.mozilla.org/fr/firefox/addon/ignore-x-frame-options-header/

この拡張機能はQuantumとも互換性があります。

ソースと更新: https://github.com/ThomazPom/Moz-Ext-Ignore-X-Frame-Options

2
Tom Pom