web-dev-qa-db-ja.com

ドキュメントのフレームがサンドボックス化されているため、スクリプトの実行がブロックされました-Angular application

私は奇妙な問題があります-アプリ(純粋なangular REST APIを含むアプリケーション)を本番サーバーにデプロイし、他のサイトからのリンクを介してそのURLにアクセスするとき(たとえば、電子メールからの参照)、空白のページが表示されます- Firefoxは何も言わない、chromeは言う

ドキュメントのフレームがサンドボックス化されており、「スクリプトの許可」権限が設定されていないため、「WebサイトのURL」でのスクリプトの実行がブロックされました。

すべての.jsファイルをブロックします...

どういう意味ですか?インターネットでiframeについて何かを見つけましたが、サイトにiframeがありません...

私の意見で最も奇妙なのは、そのリンクに直接アクセスした場合、すべてが問題なく機能するということです...

では、この振る舞いを避けるにはどうすればよいでしょうか?

返信ありがとう

15
blazek

エラーメッセージは、iframeが適切な権限なしにサンドボックス化されていることを警告しています

はい、iFrameをクリックしています。これは、サンドボックス化されたiFrameの例です。

<iframe sandbox src="http://usercontent.example.net/getusercontent.cgi?id=12193"></iframe>

GMailで要素の検査を実行すると、どこにでもiFrameが表示されます。 sandbox属性は許可されるものを制御するため、sandbox属性は常に自動的に付加されるわけではありません。

ポップアップが必要な場合、属性が変更されます

<iframe sandbox="allow-same-Origin allow-scripts allow-popups allow-forms" src="http://usercontent.example.net/getusercontent.cgi?id=12193"></iframe>

これは、ユーザーとメールアプリケーションを[〜#〜] xss [〜#〜]から保護するために行われます

IFrameは、ポップアップ、新しいウィンドウ、またはスクリプトを許可する必要があります。何をしようとしているか(おそらくナビゲーションのみ)、アクションはサンドボックスによってブロックされています。

23
Dave Alperovich