SPONSORED ADVERTISEMENT
Placeholder (banner)

HTML5セキュアサンドボックス検証 (sandbox-tester)

Webブラウザのインラインフレーム(iframe)におけるセキュリティ境界線である sandbox 属性の挙動を、インタラクティブに設定・検証できるデバッグシミュレーターです。各セキュリティトークン(allow-scripts、allow-same-origin、allow-popups等)をON/OFFし、内部からのJavaScript、Cookie、ローカルストレージ、モーダルダイアログ、ダウンロード機能のアクセス制御がどのように変化するかを、リアルタイムに親ページとiframeの両方からログで確認できます。

Sandbox 属性設定
iframe に付与する sandbox トークンを選択します。

スクリプト(JavaScript)の実行を許可します。チェックを外すとJSが一切機能しません。

同一オリジンポリシーの適用を維持。チェックを外すと別オリジン扱いになり、LocalStorageやCookieへのアクセスがブロックされます。

フォームの送信を許可します。

window.open等によるポップアップや新規タブ表示を許可します。

alert, confirm, prompt等のモーダルダイアログの表示を許可します。

ファイルのダウンロードを許可します。

iframe内から親ウィンドウ(トップレベル)のURL遷移を許可します。

生成された iframe タグ
iframe sandbox="allow-scripts" srcDoc="..."
検証用プレビュー
sandbox: allow-scripts
親ウインドウ監視モニター

監視ログはありません。上の検証用プレビューからボタンをクリックしてAPIを呼び出してください。

allow-scriptsが無い、またはallow-same-originが無いために iframe 側から postMessage による親への通信が制限された場合、親ページの監視モニター側には何もログが出力されなくなります。その場合は iframe 内部のログコンソールでのみ結果を確認してください。

セキュリティ重要知識: allow-scripts と allow-same-origin

⚠️ [重要] allow-scriptsallow-same-origin は絶対に同時に付与しない!

iframe内のコンテンツと親ページが同一ドメイン(同一起源)から配信されている場合、両方のフラグを同時に有効にすると、iframe内のスクリプトは親ページのDOM構造に完全にアクセスできるようになり、親ページの sandbox 属性を勝手にプログラムで書き換えてセキュリティ制限を取り去る(特権エスケープ)ことが可能になってしまいます。

第三者が作成した信頼できないブログパーツや広告などを iframe 内に埋め込む際は、上記の両トークンを同時に有効化しないか、あるいは埋め込みファイルを完全に別ドメインからホストする構成をとる必要があります。

SPONSORED ADVERTISEMENT
Placeholder (responsive)