初心者SEのとりあえずメモ日記

初心者SEが技術的な事とかを、とりあえずメモしておくための日記です。

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種類の値を設定することができます。

DENYフレーム内に表示するのを全面禁止
SAMEORIGIN同じサイト内のページでフレームに読み込まれた場合だけ許可
ALLOW-FROM uri指定された生成元に限り、ページをフレーム内に表示することを許可

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

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

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

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


 - WEB
 -

  シェアしていただけるとうれしいです

  関連記事

Comment

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

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です