Cookie の Secure・HttpOnly とは。SameSite を含む 3 つの属性の意味
Cookie を盗まれにくくするために付ける Secure 等の指定。
ひとことで
Cookie(クッキー)は、サイトが訪問者のブラウザに預けておく小さなメモです。ログインしたままの状態や、カートの中身などを覚えるのに使われます。Cookie には、扱い方を決める「属性」を付けられます。主なものは次の 3 つです。
- Secure:暗号化された https:// の通信でだけ送る。
- HttpOnly:ページ内のスクリプト(プログラム)から読めないようにする。
- SameSite:ほかのサイトから来たリクエストに付けて送るかどうかを決める。
付いていないと何が起きるか
Secure が無いと、暗号化されていない http:// の通信で Cookie が送られることがあり、公衆 Wi-Fi などで読み取られる余地があります。HttpOnly が無いと、サイトに悪意のあるスクリプトを差し込まれたときに Cookie を盗まれやすくなります。SameSite が無いと、別のサイトを経由して、本人が意図しない操作(設定の変更や送信)をさせられる余地が残ります。
ログイン状態を覚える Cookie を盗まれると、パスワードを知らなくても、その人になりすまして操作される場合があります。
必要か
会社案内だけのサイトでは、そもそも重要な Cookie を発行していないことが多く、影響は小さめです。ログインのある会員ページ、管理画面、ネットショップ、問い合わせフォームなどで使う Cookie には、3 つとも付けておくのが今の標準的な形です。最近のブラウザは SameSite が無い場合に控えめな扱いをするものもありますが、明示しておく方が確実です。
頼み方
制作会社・保守担当には「ログインやフォームで使っている Cookie に、Secure・HttpOnly・SameSite(Lax 以上)が付いているか確認して、無ければ付けてください」と伝えれば通じます。
よくある質問
診断で「Cookie は発行されていません」と出ました。何か問題がありますか。
トップページでは Cookie が使われていなかったという意味で、問題があるという判定ではありません(判定は「参考」です)。ログインやフォームのある画面では Cookie が使われるので、気になる場合は保守担当に確認を頼んでください。
自社のサイトで確かめる
ドメインを入れるだけで、この記事に出てきた項目が外からどう見えているかを無料で点検できます。設定は変えません。結果はその場で出ます。