in a frame because it set ‘X-Frame-Options’ to ‘SAMEORIGIN’

iframeで外部Webページを表示しようとして、このようなエラーが発生。

エラーの原因

外部Webページが、iframe内からWebページが読み込まれることを防止する設定を行っていた場合、このようなエラーが発生します。
つまり、フレームで表示する許可がされていないということです。

HTTPレスポンスヘッダに、「X-Frame-Options:SAMEORIGIN」と設定されていた場合、表示することができません。

yahooのトップページの場合、SAMEORIGINが設定されているため、自分のサイトなどでiframeタグを利用して表示することはできません。

X-Frame-Options

X-Frame-Optionsヘッダには、3種類の値を設定することができます。
[table id=2 /]

ブラウザごとの挙動の違い

X-Frame-OptionsヘッダにDENYを設定したページをframeで表示しようとした場合、ブラウザごとに表示結果が変わってきます。

IEの場合、frameの部分に「このコンテンツはフレームで表示できません」といったメッセージが画面に表示されます。
frame

一方、firefoxやchromeの場合、frameの部分が空白になります。(枠だけの状態)

コメント

  1. […] 参考:in a frame because it set ‘X-Frame-Options’ to ‘SAMEORIGIN’ […]