react/iframe-missing-sandbox 懸念
何をするか
iframe 要素に sandbox 属性を強制する
なぜ悪いのか
sandbox 属性は、iframe 内のコンテンツに対して追加の制限を有効化します。sandbox 属性を使用することは、良いセキュリティ慣行と見なされます。サンドボックスの詳細については、MDN の sandbox 属性に関するドキュメント を参照してください。
このルールでは、すべての React <iframe> 要素をチェックし、sandbox 属性が存在し、その値が有効であることを確認します。さらに、allow-scripts と allow-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