仕様と根拠
読み方
各行を「;」で分け、先頭を「名前=値」、残りを属性として読みます。属性名は大文字・小文字を区別せず、知らない属性はブラウザが無視します(RFC 6265 5.2)。Secure と HttpOnly は値をとらないフラグ、Max-Age は整数の秒数、Expires は RFC 1123 の日付、SameSite は Strict・Lax・None のどれかです。
エラーにする条件
名前=値の「=」がない・名前が空(ブラウザは Set-Cookie 全体を無視。RFC 6265 5.2)、SameSite=None なのに Secure がない(Cookie 全体が無視される。rfc6265bis 5.7)、__Secure- 接頭辞で Secure がない、__Host- 接頭辞で Secure・Path=/ がないか Domain がある場合(rfc6265bis 4.1.3)です。
警告・情報にする条件
整数でない Max-Age・400 日を超える寿命・RFC 1123 でない Expires・不正な SameSite の値・重複した属性や名前・値に使えない文字は警告にします。Secure・HttpOnly・SameSite がないこと、Max-Age と Expires の併用、Path や Domain の補正は情報(用途がログインなら HttpOnly の欠落は警告)です。
判定の範囲
この点検は書式と属性の組み合わせを機械的に確かめるだけです。指摘が 0 件でも、Cookie の値の強さ・盗まれにくさ・サイト全体の安全性は判定していません。SameSite と接頭辞の規則はドラフト(rfc6265bis)にもとづくため、仕様が改訂されると変わる場合があります。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| RFC 6265 HTTP State Management Mechanism | 2026年10月28日 | 3 節(畳み込み禁止)・4.1.1(構文)・4.1.2.2・4.1.2.5・4.1.2.6・5.2(属性の解釈) |
| draft-ietf-httpbis-rfc6265bis-22 Cookies: HTTP State Management Mechanism | 2026年10月28日 | 4.1.2.7(SameSite)・4.1.3(接頭辞)・5.4・5.5(寿命の上限)・5.7(受け入れの条件)。ドラフトのため改訂される可能性あり |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- Cookie の値そのものの強さ(推測されにくさ・署名・暗号化)は判定しません。値は書式の確認だけです。
- ブラウザごとの実装の違い(サードパーティ Cookie の制限など)や Partitioned 属性は、このツールでは確認しておらず判定しません。
- 実際にサーバーへ接続して Set-Cookie を取得する機能はありません。貼り付けた文字だけを読みます。
- 複数の Set-Cookie を 1 行にコンマでつなげた貼り付けは読めません。1 行に 1 つに分けて貼り付けます。
ご利用にあたって
- 結果は仕様にもとづく書式の点検で、サイトの安全性やブラウザでの実際の動作を保証するものではありません。「指摘なし」を「安全」と読み替えないでください。
- 本物のセッション値や認証情報を含む Set-Cookie は貼らず、値をダミーに置き換えてください。入力は保存・送信しませんが、画面共有などでは見えます。