Cookie

Cookieの基本動作

HTTPリクエストをするとヘッダに次のようなデータがつく。

Set-Cookie: SID=31d4d96e407aad42; Path=/; Domain=example.com

attrvalue
SID31d4d96e407aad42
Path/
Domainexample.com

SID=31d4d96e407aad42のような形でKV形式でデータをヘッダで取り扱う仕組み PathDomainは、このデータの適用範囲を示すもの。

その他の属性

attrtype
HttpOnlyJSで読み込めるかどうか
SecureSSLのみかどうか
SameSite他サイトににCookieを送るかどうか(最近はデフォでLax)

メモ:

Cookieを使わない場合は、CSRFの対策は必要なし

https://security.stackexchange.com/questions/166724/should-i-use-csrf-protection-on-rest-api-endpoints

その場合はlocalstorageのXSS(Cross-site scripting)に注意する

https://softwareengineering.stackexchange.com/questions/314412/can-i-prevent-csrf-attacks-by-using-localstorage-sessionstorage

参考文献

  • http://watanabe-tsuyoshi.hatenablog.com/entry/2015/03/04/123649
  • https://www.scutum.jp/information/waf_tech_blog/2017/11/waf-blog-051.html
  • https://qiita.com/okamoai/items/044c03680766f0609d41
  • https://laboradian.com/same-site-cookies/