クロスサイトリクエストフォージェリ(CSRF)

概要

正規の権限を持つユーザに対して意図しない操作をさせる。 「SNSに勝手に投稿する」「コンテンツを削除・改変する」「パスワードを勝手に変更する」など。

対応方法

ワンタイムトークンを発行しチェックする。 予測困難な不規則な文字列(トークン)をセットし、処理の開始前にセッション変数とトークンを検証する。

あわせてCookieにSameSite属性を設定する。 主要ブラウザは2020年以降SameSite=Laxを既定としており、これだけでも外部サイトからのクロスサイトリクエストの多くが送信されなくなる。 ただし既定に頼らず明示的に指定するほうが確実である。

参考