LoginSignup
0
0

More than 1 year has passed since last update.

クロスサイト・リクエスト・フォージェリーの対策-javascript

Last updated at Posted at 2022-01-31

ワンタイムトークン方式
step1
各ページでAPIを呼び出す直前にワンタイムトークン(乱数Aとする)を生成し、生成した「乱数A」をCookieに格納します。
step2
「乱数A」をハッシュ化(SHA256)します。その結果を「ハッシュB」とします。
setp3
「ハッシュB」はAPIのパラメーターとして、サーバーへ送信します。その際、Cookieに埋め込まれた「乱数A」の値も送信されます。
step4
API側でCookieに格納された「乱数A」とリクエストとして送られてきた「ハッシュB」を取り出して、取り出した「乱数A」をハッシュ化(SHA256)して「ハッシュB」と比較します。値が同じでしたらリクエストを受け付けます。その以外はエラーとして返します。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0