◆ Sec-Fetch での判断が良さそうだったけど Safari は未対応らしい ◆ Safari に対応させるならその他の方法 ◆ 作るもの次第で楽なものを使う これまでやってた方法これまで CSRF 対策にはトークンを使ってました 私の場合は フォームでの POST は一切しなくて fetch での送信のみです body に混ぜるよりは header に入れるほうが楽なのでヘッダーで送信します トークンはユーザまたは Cookie に対して乱数で発行して リクエスト時に送信されたトークンがユーザや Cookie のトークンと一致することを確認しています ヘッダーを見るならトークンは必要なかったこの方法って過剰だったようです fetch を使ったバックグラウンドでの通信の場合は ヘッダーで任意のデータを送信できますが フォームからではできません 標準でないヘッダーが送信されていることを
![最近の CSRF 対策ってなにがいいんだろう : (*x).b=z->a+y/c](https://cdn-ak-scissors.b.st-hatena.com/image/square/da78a05937633f7a2b4b2219826151c370cd607b/height=288;version=1;width=512/https%3A%2F%2Fparts.blog.livedoor.jp%2Fimg%2Fusr%2Fcmn%2Fogp_image%2Flivedoor.png)