Max-Age に単位を付けた誤り
Max-Age=3600s のように秒数へ単位を付けた例です。ブラウザはこの属性を黙って無視し、Cookie が有効期限なしのセッション Cookie になってしまう点を警告します。
入力
Set-Cookie ヘッダーの行
pref=1; Max-Age=3600s; Secure; HttpOnly; SameSite=Lax
この Cookie の用途
ログインに関係しない Cookie(設定・計測など)
結果
エラー 0 件・警告 1 件・情報 0 件
指摘(エラー・警告・情報)
- 警告 1 行目(pref) Max-Age の値「3600s」は整数ではありません。先頭が数字か - でない、または途中に数字以外があると、ブラウザはこの属性を無視します(RFC 6265 5.2.2)。単位や小数は書けません。
| 読み取った Set-Cookie | 1 行 |
|---|---|
| 指摘の件数 | エラー 0 件・警告 1 件・情報 0 件 |
| 判定の範囲 | 書式と属性の組み合わせだけを、RFC 6265 と rfc6265bis(ドラフト)の規則で機械的に判定します。指摘がなくても安全とは限りません |
Cookie ごとの属性
| Cookie 名 | Secure | HttpOnly | SameSite | 有効期限 | Domain | Path |
|---|---|---|---|---|---|---|
| pref | あり | あり | Lax | なし(ブラウザを閉じるまで) | 指定なし(このホストだけ) | 指定なし |
検算(この結果になる理由)
RFC 6265 5.2.2 は先頭が数字か - でなければ、または途中に数字以外があれば Max-Age を無視すると定めます。「3600s」は末尾の s が数字でないため無視され、警告 1 件です。ほかの属性は正しく、表の有効期限は「なし」になります。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- Cookie の値そのものの強さ(推測されにくさ・署名・暗号化)は判定しません。値は書式の確認だけです。
- ブラウザごとの実装の違い(サードパーティ Cookie の制限など)や Partitioned 属性は、このツールでは確認しておらず判定しません。
- 実際にサーバーへ接続して Set-Cookie を取得する機能はありません。貼り付けた文字だけを読みます。
- 複数の Set-Cookie を 1 行にコンマでつなげた貼り付けは読めません。1 行に 1 つに分けて貼り付けます。
ご利用にあたって
- 結果は仕様にもとづく書式の点検で、サイトの安全性やブラウザでの実際の動作を保証するものではありません。「指摘なし」を「安全」と読み替えないでください。
- 本物のセッション値や認証情報を含む Set-Cookie は貼らず、値をダミーに置き換えてください。入力は保存・送信しませんが、画面共有などでは見えます。