HTTPヘッダー解析・セキュリティ診断
curl -I やブラウザの開発者ツールで取得したレスポンスヘッダーを貼り付けると、HSTS・CSP・X-Content-Type-Options・Referrer-Policy・Cookie属性・CORS などをチェックし、不足している設定と推奨値を表示します。解析はブラウザ内だけで行われ、貼り付けた内容がサーバーに送信されることはありません。ヘッダーを取得するコマンドの組み立ては curl変換 もご利用ください。
🔒 ブラウザ内で完結・入力データはサーバーに送信されません
ステータス行(HTTP/1.1 200 OK など)は付けても付けなくても構いません。Set-Cookie の値は診断結果に表示されません(それ以外のヘッダーは全文が表示されます)。
注意事項
- 診断は貼り付けたヘッダーだけを見て行います。URLを指定して自動取得する機能はありません(ブラウザからは CORS の制約で他サイトのヘッダーを取得できないため)。ヘッダーは curl -I やブラウザの開発者ツール(ネットワークタブ)で取得してください。
- 推奨値は一般的な出発点です。特に Content-Security-Policy は、サイトが読み込む外部リソースに合わせて調整しないと表示が崩れることがあります。まず Content-Security-Policy-Report-Only で動作を確認してから適用してください。
- Strict-Transport-Security は HTTPS で配信しているサイトにだけ設定してください。includeSubDomains を付けると全サブドメインが HTTPS 必須になります。
- 診断結果は一般的な指針であり、サイトの安全性を保証するものではありません。
用語解説
HSTS(HTTP Strict Transport Security)
一度 HTTPS で接続したサイトに、指定期間は HTTPS だけで接続するようブラウザへ指示する仕組みです。HTTP へのダウングレード攻撃を防ぎます。
CSP(Content Security Policy)
ページが読み込んでよいスクリプト・スタイル・画像などの出所を宣言するヘッダーです。万一 XSS の脆弱性があっても、攻撃者のスクリプトの実行を防げます。
クリックジャッキング
攻撃者のページに対象サイトを透明な iframe で重ね、ユーザーに意図しないクリックをさせる攻撃です。X-Frame-Options や CSP の frame-ancestors で防ぎます。
SameSite 属性
他サイトからのリクエストに Cookie を付けるかを制御する Cookie の属性です。Lax や Strict にすると CSRF(クロスサイトリクエストフォージェリ)を抑えられます。
よくある質問
URLを入力してヘッダーを自動取得できますか?
できません。ブラウザのJavaScriptは CORS の制約により他サイトのレスポンスヘッダーを読み取れず、取得にはサーバー経由が必要になるためです。このツールは通信を行わず、貼り付けたヘッダーをブラウザ内で解析します。curl -I https://example.com やブラウザ開発者ツールのネットワークタブでヘッダーをコピーしてください。
診断で「良好」なら、そのサイトは安全ですか?
いいえ。このツールが見るのは代表的なセキュリティヘッダーの有無と明らかに弱い設定だけです。アプリケーション自体の脆弱性(SQLインジェクションや認証の不備など)は判定できません。設定の抜け漏れを確認する目安としてお使いください。
推奨のContent-Security-Policyをそのまま設定してもよいですか?
出力するのは default-src 'self' を基本にした出発点です。外部のスクリプト・フォント・画像・分析タグなどを読み込んでいるサイトでは、そのまま適用すると表示や機能が壊れる可能性があります。先に Content-Security-Policy-Report-Only で違反を確認し、必要な出所を追加してから適用してください。
X-Frame-Options がないのに「良好」と表示されるのはなぜですか?
CSP の frame-ancestors ディレクティブで埋め込みを制限している場合は、X-Frame-Options と同じ役割を果たしており、現在のブラウザでは frame-ancestors が優先されるためです。古いブラウザにも対応したい場合は両方を設定します。
Cookieの値が結果に表示されないのはなぜですか?
セッションIDなどの秘密情報が画面やコピー結果に残らないよう、Cookie は名前と属性(Secure・HttpOnly・SameSite)だけを診断し、値は表示しません。なお通信はブラウザ内で完結し、貼り付けた内容がサーバーに送られることはありません。
このページをシェア
