React / Next.js

React セキュリティ & ベストプラクティス

XSS対策、CSRF保護、dangerouslySetInnerHTML、Content Security Policy、HTTPS、サニタイズ

22 面接問題·
Senior
1

XSS(クロスサイトスクリプティング)攻撃とは何ですか?

回答

XSS攻撃は、悪意のあるJavaScriptコードをWebアプリケーションに注入し、他のユーザーのブラウザで実行させる攻撃です。攻撃者はバリデーションやエスケープの脆弱性を悪用して、クッキーやセッショントークンを盗んだり、不正な操作を実行したりします。ReactはJSX値を自動的にエスケープすることでネイティブな保護を提供していますが、dangerouslySetInnerHTMLや直接DOM操作では脆弱性が残ります。

2

ReactはデフォルトでXSS攻撃からどのように保護しますか?

回答

ReactはJSXを通じて挿入されたすべての値をレンダリング前にプレーンテキストに変換することで自動的にエスケープします。この保護により、HTMLコードがデータに注入されてもスクリプトの実行が防止されます。HTMLを解釈・実行するinnerHTMLとは異なり、Reactはタグをプレーンテキストとして扱うため、標準的なpropsやstateを通じた悪意のあるJavaScriptの注入が不可能になります。

3

ReactでdangerouslySetInnerHTMLが危険とみなされるのはなぜですか?

回答

このプロパティはエスケープなしに生のHTMLをDOMに直接挿入することでReactのネイティブXSS保護をバイパスします。コンテンツが信頼できないソースや外部APIから来た場合、実行される悪意のあるJavaScriptが含まれる可能性があります。明示的な名前dangerouslySetInnerHTMLは、開発者がセキュリティリスクを意識的に認識し、DOMPurifyなどのライブラリで適切なサニタイズを実装することを強制します。

4

Stored XSSとReflected XSS攻撃の主な違いは何ですか?

5

ReactでExternal APIからのHTMLを表示するために優先すべきアプローチは何ですか?

+19 面接問題

次の面接に向けてReact / Next.jsをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める