セキュリティヘッダーを確認
レスポンスヘッダーとCSP案を確認し、保護対象のURLとDNS先が正しいか検証します。
- 1. HTTP
status、redirect、貼り付けたheader、CSP警告を一画面で確認します。
- 2. URL Parse
ポリシーを書く前にorigin、path、query、tracking parameterを分けます。
- 3. DNS
確認中のhostnameが対象デプロイへ解決されるか確認します。
公開 URL のステータスコード、リダイレクト結果、主要レスポンスヘッダー、コピー可能な確認レポートでデプロイと SEO 状態を点検します。
入力 / 出力
入力、出力、コピー操作をこの領域にまとめています。例と確認項目は下に分けています。
ローカルセッション
入力状態はこのブラウザだけに保存され、アカウントなしで前回の作業を復元できます。
基本の入力/出力が終わってから、必要な例、確認リスト、関連ツールだけを開きます。
セキュリティヘッダーを確認
レスポンスヘッダーとCSP案を確認し、保護対象のURLとDNS先が正しいか検証します。
status、redirect、貼り付けたheader、CSP警告を一画面で確認します。
ポリシーを書く前にorigin、path、query、tracking parameterを分けます。
確認中のhostnameが対象デプロイへ解決されるか確認します。
リダイレクトを調査
status、最終URL、DNS先、social previewの信号を一つの流れで確認します。
redirect chainと最終レスポンスを追跡します。
apex、www、CNAMEが想定先を向くか確認します。
query parameterとcanonical pathの変更を分解します。
未インデックスURLを診断
Search Consoleでクロール済み/検出済みだが未インデックスの場合、次のレポート更新を待つ前に最終レスポンス、sitemap証拠、robots、metadata、canonical形状を確認します。
検査URLがcanonical hostで最終200か確認し、redirect/header証拠を残します。
URLが提出済みsitemapセットに含まれるか照合し、count/warning付きdiscovery reportをコピーします。
crawlerルールやsitemapディレクティブが検査ページと矛盾しないか確認します。
title、description、canonical、robots metadataを確認し、thin contentや誤ったnoindexでないか見ます。
フォローアップ記録前にtrackingや重複pathを外したclean canonical URLを検査URLと比較します。
コピー前の確認
よくある失敗例
関連ツール
ガイド
基本の入力/出力が終わってから、必要な例、確認リスト、関連ツールだけを開きます。
https://www.google.comhttp://bobob.apphttps://example.comcrawler presetはこのサーバー側チェックの安全なrequest headerだけを変えます。実際のcrawlやindexing証拠はSearch Consoleまたはserver logで確認してください。
レスポンスヘッダーを貼り付け、キャッシュ、セキュリティ、Cookie、CORSの信号を確認してからデバッグメモに使います。
ヘッダー数
5
重複名
0
セキュリティヘッダー
3
Cookieヘッダー
0
公開ページの公開やデバッグ前に開発者がよく確認するセキュリティヘッダーを一覧します。
セキュリティヘッダー点数
3/6
必須の不足
1
Strict-Transport-Security
必須
初回訪問後のHTTPS利用者をprotocol downgradeから守ります。
ありContent-Security-Policy
必須
script、style、image、connection、frame sourceを制限します。
ありX-Content-Type-Options
必須
nosniffはブラウザーのMIME type誤判定を避ける助けになります。
なしX-Frame-Options / frame-ancestors
推奨
他サイトがページをframeに埋め込めるか制御します。
ありReferrer-Policy
推奨
他originへ送るURL情報量を制限します。
なしPermissions-Policy
推奨
camera、geolocation、fullscreenなどのブラウザー機能アクセスを制限します。
なしブラウザーのpreflightエラーをアプリ不具合と見る前にAccess-Control応答ヘッダーを確認します。
Originポリシー
なし
—
Credentialポリシー
Credential未許可
許可method
—
許可header
—
Vary Origin
いいえ
—
Preflight status
200
OPTIONS signal
—
ヘッダー名を正規化し、重複と確認カテゴリを見やすくします。
セキュリティ点数、必須不足、cookie/CORSメモ、deploy確認を含む安全なヘッダー準備レポートをコピーします。
ヘッダー数
5
セキュリティヘッダー点数
3/6
必須の不足
1
Cookieヘッダー
0
CORS
0
Originポリシー
なし
—
OPTIONS signal
—
生ヘッダーを含む
いいえ
いいえ、指標、準備度確認、確認メモのみ含みます。
デプロイ確認リスト
# セキュリティヘッダーレポート
- 確認時刻: ブラウザコピー時刻
- ヘッダー数: 5
- 重複名: 0
- セキュリティヘッダー点数: 3/6
- 必須の不足: 1
- Cookieヘッダー: 0
- CORS: 0
- Originポリシー: なし (—)
- Credentialポリシー: Credential未許可
- 許可method: —
- 許可header: —
- Vary Origin: いいえ
- OPTIONS signal: —
- Preflight status: 200
- 生ヘッダーを含む: いいえ、指標、準備度確認、確認メモのみ含みます。
## 確認メモ
- 明確なsecurity header警告はありません。公開前に対象アプリのポリシーを確認してください。
## CORS preflightメモ
- CORS応答ヘッダーがありません。通常ページなら問題ありませんが、cross-originのAPI呼び出しは失敗します。
## セキュリティヘッダー確認
- Strict-Transport-Security: あり (必須)
- Content-Security-Policy: あり (必須)
- X-Content-Type-Options: なし (必須)
- X-Frame-Options / frame-ancestors: あり (推奨)
- Referrer-Policy: なし (推奨)
- Permissions-Policy: なし (推奨)
## デプロイ確認リスト
- HTTPSページが初回production応答後にStrict-Transport-Securityを返すか確認します。
- report-onlyをenforcementへ切り替える前にContent-Security-Policy sourceを確認します。
- Set-CookieのSecure、HttpOnly、SameSite、cache連携を確認します。
- CORS originとcredentialsが想定public API clientと合うか確認します。
- CDN、proxy、deploy変更後にpublic URL checkを再実行します。{
"entries": [
{
"name": "content-type",
"value": "text/html; charset=utf-8",
"categoryKey": "contentHeaderCategory",
"categoryFallback": "Content"
},
{
"name": "cache-control",
"value": "public, max-age=3600",
"categoryKey": "cacheHeaderCategory",
"categoryFallback": "Cache"
},
{
"name": "strict-transport-security",
"value": "max-age=31536000; includeSubDomains",
"categoryKey": "securityHeaderCategory",
"categoryFallback": "Security"
},
{
"name": "content-security-policy",
"value": "default-src 'self'; img-src 'self' https:",
"categoryKey": "securityHeaderCategory",
"categoryFallback": "Security"
},
{
"name": "x-frame-options",
"value": "DENY",
"categoryKey": "securityHeaderCategory",
"categoryFallback": "Security"
}
],
"malformedLines": 0,
"metrics": {
"headerCount": 5,
"duplicateHeaderNames": 0,
"securityHeaders": 3,
"corsHeaders": 0,
"cookieHeaders": 0,
"presentSecurityHeaders": 3,
"securityCheckCount": 6,
"missingRequiredSecurityHeaders": 1
},
"securityChecks": [
{
"key": "hsts",
"label": "Strict-Transport-Security",
"present": true,
"required": true,
"detail": "初回訪問後のHTTPS利用者をprotocol downgradeから守ります。"
},
{
"key": "csp",
"label": "Content-Security-Policy",
"present": true,
"required": true,
"detail": "script、style、image、connection、frame sourceを制限します。"
},
{
"key": "x-content-type-options",
"label": "X-Content-Type-Options",
"present": false,
"required": true,
"detail": "nosniffはブラウザーのMIME type誤判定を避ける助けになります。"
},
{
"key": "frame-protection",
"label": "X-Frame-Options / frame-ancestors",
"present": true,
"required": false,
"detail": "他サイトがページをframeに埋め込めるか制御します。"
},
{
"key": "referrer-policy",
"label": "Referrer-Policy",
"present": false,
"required": false,
"detail": "他originへ送るURL情報量を制限します。"
},
{
"key": "permissions-policy",
"label": "Permissions-Policy",
"present": false,
"required": false,
"detail": "camera、geolocation、fullscreenなどのブラウザー機能アクセスを制限します。"
}
],
"corsPreflight": {
"hasCorsHeaders": false,
"warnings": [
"CORS応答ヘッダーがありません。通常ページなら問題ありませんが、cross-originのAPI呼び出しは失敗します。"
],
"reviewWarnings": [],
"originPolicy": "なし",
"originValue": "—",
"credentialsPolicy": "Credential未許可",
"methodsDisplay": "—",
"headersDisplay": "—",
"optionsPolicy": "—",
"varyOriginLabel": "いいえ",
"statusDisplay": "200",
"metrics": [
{
"label": "Originポリシー",
"value": "なし",
"description": "—"
},
{
"label": "Credentialポリシー",
"value": "Credential未許可"
},
{
"label": "許可method",
"value": "—"
},
{
"label": "許可header",
"value": "—"
},
{
"label": "Vary Origin",
"value": "いいえ",
"description": "—"
},
{
"label": "Preflight status",
"value": "200"
},
{
"label": "OPTIONS signal",
"value": "—"
}
]
},
"warnings": []
}Content-Security-Policyヘッダーを作成し、危険なsourceを確認してヘッダーパーサーへ送ります。
ディレクティブ
7
ヘッダーモード
Enforce
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; font-src 'self'; frame-ancestors 'none'コピー用の出力
出力はここに表示されます。