web-dev-qa-db-ja.com

X-Frame-Options SAMEORIGINがドメインのiframeをブロックしている

http://www.jacklmoore.com/colorbox を使用して、ライトボックスにURLのコンテンツを表示しています。実装後、カラーボックスには何も表示されませんでした。

後で、chromeログで次のエラーに気づきました:

Refused to display document because display forbidden by X-Frame-Options.

文書化した後、私は次の行をウェブサイトのルート.htaccessに追加しました:

Header always append X-Frame-Options SAMEORIGIN

自分のドメインにiframeを埋め込むことができます。

しかし、それでもエラーが発生し、x-frameの初心者であり、既存のアプリケーションで作業しているので、.htaccessソリューションは素晴らしいと思いましたが、いくつかのコードでオーバーライドできますか?サーバー構成にはないことに注意してください。

9
SupFrig

別のX-Frame-Optionsヘッダーを送信してみてください。

<?php header('X-Frame-Options: GOFORIT'); ?>

ページの上部に。 SAMEORIGINコマンドを無効にする必要があります。

16
bogatyrjov

Moz開発ページによると。これはの定義です

[〜#〜] sameorigin [〜#〜]
ページは、ページ自体と同じOriginのフレームにのみ表示できます。

それはあなたがあなたのサイトからいくつかのページを含めている場合にのみ表示されることを意味します。
仮定しましょう

  1. http://foo.com にWebサイトがあり、 http://foo.com/sec_page のiframeに何かを表示したい場合iframe
  2. しかし、同じiframe( http://foo.com/sec_page )を埋め込んで http://bar.com にロードすると、何も表示されません。起源が変更されるように。

あなたは読むことができます ここで完全なメモ

4
Hammad

取得した応答からヘッダーを削除できます。

header_remove( "X-Frame-Options");

2

これをhttpd.confに追加しました:

 Header unset X-Frame-Options

そしてそれは機能します。

1
user3467449

XFrameオプションをDENYまたはSameoriginに設定します。それ以外の場合、サイトがXSS攻撃に対して脆弱である場合、フィッシング攻撃またはフレームインジェクションの作成に役立つ可能性があります。