コンテンツにスキップ

🛡️ Web サイトセキュリティ診断

URL を入れるだけで、セキュリティ関連のレスポンスヘッダ(HSTS・CSP・X-Frame-Options など)と Mixed Content を診断します。

完全無料 登録不要 サーバー処理 ログ・DB 保存なし レート制限あり 5 言語対応 ダークモード

⚠️ 診断対象のサーバーには DevLab のサーバーからアクセスが行われます。プライベート IP・ローカルホストは対象外です。

📖 この診断で分かること

この診断は 1 回のリクエストで返ってくる範囲 — レスポンスヘッダ、Cookie 属性、TLS の使われ方 — から、外形的に分かるセキュリティ設定を点検します。アプリケーションの脆弱性は見つけられません。SQL インジェクションや権限まわりの穴は、ここが満点でも普通に存在します。ここで見るのは「設定を 1 行足すだけで塞げる入口が開いていないか」で、費用対効果が最も高い層です。

判定項目 何を見ているか 引っかかったときの対処
Cookie の HttpOnly 付いていれば document.cookie から読めなくなります。XSS が刺さってもセッション ID を持ち出せません。 セッション Cookie には必ず付けます。PHP なら session.cookie_httponly = 1JS から読む必要がある値は、そもそもセッション Cookie とは別の Cookie に分けてください — 「読みたいから外す」は本末転倒です。
Cookie の SameSite 他サイトからのリクエストに Cookie を載せるかを制御します。CSRF への構造的な対策で、トークン方式と併用します。 原則 Lax、決済など重要な操作は StrictNone にするなら Secure が必須で、これが無いとモダンブラウザは Cookie ごと捨てます。SSO や iframe 埋め込みで急に動かなくなったときの典型的な原因です。
サーバー情報の露出 Server: nginx/1.18.0X-Powered-By: PHP/8.1.2 は、既知の脆弱性を持つバージョンを攻撃者に教えます。 nginx は server_tokens off;、PHP は expose_php = Offこれは時間稼ぎであって防御ではありません — 隠すことより、そのバージョンを実際に上げる方が本質的な対策です。
混在コンテンツ (Mixed Content) HTTPS のページから http:// のスクリプトや画像を読んでいる状態。スクリプトはブラウザにブロックされ、画像は鍵マークが外れます。 埋め込み URL を https:// に直します。外部サービスが HTTPS 非対応なら、そのサービスを使うのをやめる判断が必要です。移行期は Content-Security-Policy: upgrade-insecure-requests で自動昇格させる手もあります。

ここが満点でも、それは外から見える設定が整っているという意味だけです。認証・認可の実装、入力値の扱い、依存ライブラリの既知脆弱性は別途確認が要ります。まずは composer auditnpm audit のような依存監査から始めるのが現実的です。