2015-10-30 13 views
25

誰かが、sandbox属性は、その上のiframeブロッカーを使用するために、私のサイトを防ぐことができます。そしてそれは簡単にiframeすることができます。私のウェブサイト上のiframeサンドボックスをバイパスしますか?</p> <pre><code><iframe src="http://example.org" sandbox=""></iframe> </code></pre> <p>この方法を使用して私のウェブサイトをiframing

フレームバスター:

if (window.top !== window.self) window.top.location.replace(window.self.location.href); 

sandbox属性で使用する場合、そのはiframeをしている時に自分のサイトにをリダイレクトするためのプログラム方法はありますか?

+0

、あなたは[ 'X-フレーム-Options' HTTPレスポンスヘッダ](HTTPSを検討するかもしれない:

は(X-Frame-Options: DENYに似て)完全にフレーミング禁止するには、このHTTPヘッダーを使用します。 //developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options)。 – Palpatim

+0

iframeとフレームキラーに関する情報の詳細[Wiki](https://en.wikipedia.org/wiki/Framekiller)、[iFrame Attribute-html5&Security](https://www.tinfoilsecurity.com/blog/protect) -your-website-from-embed-content-iframe-security) – yjs

答えて

16

IframingがX-Frame-OptionsX-Frame-Optionsvalue="DENY"又はvalue="SAMEORIGIN"のいずれかを設定し、X-Frame-Optionsレスポンスヘッダを介して保護することができます。このレスポンスヘッダの設定により、IFrameまたはクリックジャック攻撃からあなたのウェブサイトを保護することができます。

X-Frame-Optionsレスポンスヘッダーが設定されると、ブラウザは「このコンテンツはフレームに表示できません」のような標準メッセージを受信します。

+0

これで、ページが正しく表示されませんか?しかし、私はテキストを太字にして、私はそれを私のページにリダイレクトしたい。 – user198989

+0

X-Frame-Optionsのレスポンスヘッダーが "deny"または "sameorigin"に設定されると、ブラウザは適切なHTMLやスクリプトを受け取らないため、スクリプトでリダイレクトすることはできません。 –

10

サンドボックス属性は、とりわけ、すべてのJavaScriptをオフにしています。これはあなたのフレームバスターが動作しない、または他のjavascriptの人々が提供していない理由です。サンドボックスの

W3発言は:

  • スクリプトは、他のブラウジングコンテキストへ
  • リンクはテストがあることを示して

のiframe内/無効に禁止されているのiframe内/無効に許可されていません属性は、メタリダイレクトとiframeから抜け出す標準リンクも無効にします。

このように厳密には、リダイレクトが可能であれば、私は非常に驚くでしょう。それはサンドボックスのポイントを打ち負かしてしまうからです。

noscriptタグを使用して、サンドボックス化されたiframeにページを表示するユーザーにメッセージを表示することをお勧めします。人々があなたのコンテンツを見ることができないようにすることができます。

(それが問題であることだけで一つのサイトであれば、htaccessファイルでそれらをブロックすることは、おそらくより良い方法だろう)

+0

sandbox = "allow-scripts"で使用される別の人は、javascriptを実行できると言います。メインのiframeサイトにリダイレクトする最良の方法は何ですか? – user198989

+0

彼らはそれを動作させるためにはトップ・ナビゲーションを許可する必要があります。許可スクリプトは、iframeを離れることも許可しません。 –

+0

これも追加されていれば、リダイレクトの方法は何でしょうか? – user198989

2

私はあなたができる最善のことはtarget="top"リンクを使用して独自のメッセージを示していると思います。サンドボックス属性の概念全体は、リダイレクトを許可しないことです。これを回避する方法はなく、ブラウザのメーカーが見つけた場合には、メーカーがおそらくそれを止める方法を見つけるだろう。明らかに彼らの意図です。

これは、ウェブの動作方法です。ブラウザに関しては、あなたが望むことは何でもできません。 X-Frame-Options作品のSudiptaKumarMaitiの答え@

0

が、コンテンツセキュリティポリシー(CSP)、レベル2に取って代わられている - 特にframe-ancestorsdirective

は他のオプションに加えて
Content-Security-Policy: frame-ancestors 'none'; 
関連する問題

 関連する問題