Skip to content
← Back to rules

react/iframe-missing-sandbox 懸念

An auto-fix is available for this rule.

何をするか

iframe 要素に sandbox 属性を強制する

なぜ悪いのか

sandbox 属性は、iframe 内のコンテンツに対して追加の制限を有効化します。sandbox 属性を使用することは、良いセキュリティ慣行と見なされます。サンドボックスの詳細については、MDN の sandbox 属性に関するドキュメント を参照してください。

このルールでは、すべての React <iframe> 要素をチェックし、sandbox 属性が存在し、その値が有効であることを確認します。さらに、allow-scriptsallow-same-origin が同時に指定されているケースも報告します。この組み合わせは、埋め込まれたドキュメントが sandbox 属性を削除し、制限を回避できる可能性があるためです。

このルールに対する不正なコード例

jsx
<iframe />;
<iframe sandbox="無効な値" />;
<iframe sandbox="allow-same-origin allow-scripts" />;

このルールに対する正しいコード例

jsx
<iframe sandbox="" />;
<iframe sandbox="allow-origin" />;

使い方

設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:

json
{
  "plugins": ["react"],
  "rules": {
    "react/iframe-missing-sandbox": "error"
  }
}
bash
oxlint --deny react/iframe-missing-sandbox --react-plugin

参照