HSTS に max-age がない
HSTS に includeSubDomains と preload だけを書き、必須の max-age を書き忘れた例です。仕様に合わないヘッダーとしてブラウザに無視される、典型的な書き漏れを指摘します。
入力
レスポンスヘッダー
Strict-Transport-Security: includeSubDomains; preload
ヘッダーを受け取った通信
HTTPS(暗号化された通信)
結果
エラー 1 件・警告 0 件・情報 3 件
指摘(エラー・警告・情報)
- 情報 Strict-Transport-Security ディレクティブ「preload」は RFC 6797 に定義がなく、ブラウザは無視します(RFC 6797 6.1)。preload は HSTS のプリロードリスト(ブラウザ事業者の運用)向けの慣用で、このヘッダーの仕様の外です。
- エラー Strict-Transport-Security max-age がありません。max-age は必須で、ないヘッダーはブラウザに無視されます(RFC 6797 6.1.1)。
- 情報 Referrer-Policy Referrer-Policy がありません。リファラーの扱いはブラウザの既定に任されます(W3C Referrer Policy 8.1)。方針を固定したいときに指定します。
- 情報 Permissions-Policy Permissions-Policy がありません。ブラウザの機能(位置情報・カメラなど)の許可を、ヘッダーで制限したいときに指定します(W3C Permissions Policy)。
| 読み取ったヘッダー | 1 行 |
|---|---|
| 指摘の件数 | エラー 1 件・警告 0 件・情報 3 件 |
| 判定の範囲 | Strict-Transport-Security・Referrer-Policy・Permissions-Policy の有無と構文だけを機械的に判定します。サイトの安全性は判定せず、指摘がなくても安全とは限りません |
ヘッダーごとの解釈
| ヘッダー | 項目 | 値 | 解釈(構文のみ) |
|---|---|---|---|
| Strict-Transport-Security | includeSubDomains | あり | サブドメインにも同じ方針を適用する(RFC 6797 6.1.2) |
| Strict-Transport-Security | preload | あり | 仕様にない(無視される) |
| Strict-Transport-Security | max-age | (なし) | 必須の項目がない |
| Referrer-Policy | - | (ヘッダーなし) | このヘッダーはありません |
| Permissions-Policy | - | (ヘッダーなし) | このヘッダーはありません |
| Content-Security-Policy | - | (ヘッダーなし) | このヘッダーはありません |
検算(この結果になる理由)
RFC 6797 6.1.1 で max-age は必須のため、ないことはエラー 1 件です。preload は RFC 6797 に定義がない未知のディレクティブで、ブラウザが無視する旨の情報 1 件になります。Referrer-Policy と Permissions-Policy がない情報が 2 件加わります。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- X-Content-Type-Options など、このツールが仕様を確認していないヘッダーは判定せず、読み飛ばします。
- Permissions-Policy の機能の名前(geolocation など)が有効かどうかは判定しません。構文だけを確かめます。
- サイトの安全性やヘッダーの設定が十分かどうかは判定しません。書式が仕様に合うかを機械的に確かめるだけです。
- 実際にサイトへ接続してヘッダーを取得する機能はありません。貼り付けた文字だけを読みます。
ご利用にあたって
- 結果は仕様にもとづく書式の点検で、サイトの安全性を保証するものではありません。「指摘なし」を「安全」と読み替えないでください。
- 認証情報や内部のホスト名を含むヘッダーは、ダミーに置き換えて貼り付けてください。入力は保存・送信しませんが、画面共有などでは見えます。