有名サービスのログインCookieの名前を調べてみた。
久しぶりにログイン機能を作る機会があり、ログイン維持のためのセッションCookieの名前を何にするか悩んだので調べてみました。
意外と一覧で載せている記事などが見つからず苦労したので、よかったら参考にしてみてください。
調べ方ですが、愚直にそれらしいCookieを1つずつ消していってどこでログインが切れるかを確認しただけです、正確ではない可能性があるためご留意ください。
誤りに気付いた方がいましたらお手数ですがご連絡いただけると助かります。
一覧表
名前 | Cookie名 |
---|---|
NID , SID , HSID , __Secure-* など |
|
Youtube |
SID , LOGIN_INFO , __Secure-* など |
c_user |
|
sessionid |
|
Github | user_session |
X | auth_token |
Netflix | NetflixId |
Abema |
abm_deviceId , abm_token ※CookieではなくLocal Storageを使用 |
Spotify | sp_dc |
※ 2024/03/29時点の調査結果
※ 随時更新予定
調査の母数が少ないですが、小文字でスネークケースをルールにしているサービスが多いような印象を受けます。
目視したときに分かりやすいですしこのルールで良さそうですね。
IEではアンダースコアが含まれるCookie名は使えないという制限があったようなのですが?(確かな情報元は得られなかったので要調査)、今はもう関係のない話ですね。
結論
上記を踏まえてじゃあどんな名前が良いかという話ですが、個人的には短くシンプルに session_id
や session_token
、ログイン以外にもなんらかセッションを持たせることがあるのであればそれに login_*
や user_*
のプレフィックスをつけるのが良いかなと思いました。
ただしCookieは利用しているライブラリや読み込んでいるJavaScriptなどで勝手に作られることが多々あり、これらと競合しないためにサービス名をプレフィックスにしておくという運用上のベストプラクティスもあるようです。
おまけ
Cookieをいろいろと見ていると、名前がアンダースコアから始まるものが非常に多いことに気が付きました(例:_ga
)。
どういう意味があるのか調べてみたのですが、結局はっきりとした理由は分かりませんでした。
ご存じの方がいましたらコメントで教えていただけますとありがたいです。
逆に特別な意味を持ったプレフィックスもあるので、知らずにこれらを使うのは気をつけましょう。
出典:MDN Web Docs
Discussion