この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - フロントエンド面接質問
34. CSRFとは? どう防ぐ?
CSRF(Cross-Site Request Forgery)とは、Webサイトのサポートを悪用した攻撃で、ログインしたままのユーザーに対して誤った操作をさせることでデータを奪ったり、不正な取引を行うことを目的としています。
良い防御策には、以下があります:
- リクエストにランダムなトークンを追加する
- SameSite属性を使ってCookieの送信を制限する
- ユーザーが承認した操作のみ許可する
SameSite属性は、Cookieをクロスドメインで受け入れることを制限するためのHTTPクッキー属性です。 SameSite=Strictは、Cookieが同じオリジンからのみアクセス可能であることを意味します。 SameSite = Laxは、限定的なクロスサイトCookieアクセスが許可されます。
ランダムなトークンを追加することで、攻撃者がリクエストを偽造することができなくなります。ユーザーが承認した操作のみ許可することで、攻撃者がリクエストを実行する前に、必ずユーザーに確認を求めることができます。
したがって、CSRF攻撃を防止するには、セキュリティーに関わる設定や、トークン使用の検討、リクエストの必要性があるということが理解されて、十分に対処策を講じることが求められます。