JavaScript Tips | セキュリティ:外部URLを検証する

JavaScript JavaScript
スポンサーリンク
スポンサーリンク

外部URL検証は「ユーザーを“行ってほしくない場所”へ飛ばさないためのセキュリティゲート」

業務システムでは、外部サイトへのリンクや遷移を扱う場面が多くあります。

  • お知らせページから外部サービスへのリンクを貼る
  • 管理画面からマニュアルサイトへ飛ばす
  • ユーザーが入力したURLをクリックできるようにする
  • メール内のリンクをWeb画面で表示する

しかし、外部URLを そのまま信じて使う と、次のような危険があります。

  • フィッシングサイトへの誘導
  • マルウェア配布サイトへの誘導
  • 企業ブランドを悪用した偽サイトへのリンク
  • 社内システムから意図しない外部サイトへの情報送信

そこで必要になるのが 「外部URLを検証する」JavaScriptユーティリティです。

ここでは、初心者向けに、 「何が危険なのか」→「どう検証するのか」→「実務で使えるテンプレート」 という流れでステップバイステップで解説します。

外部URL検証の目的を整理する

外部URL検証の目的は、ざっくり言うと次の3つです。

  1. URLとして正しい形式かどうか確認する
    • 壊れた文字列や不正な形式を弾く
  2. 危険なスキーム(プロトコル)を排除する
    • javascript:, data:, file: などを拒否する
  3. 許可されたドメインかどうか確認する
    • 信頼できる外部サイトだけ許可する
    • それ以外は「要注意」として扱う

この3つを組み合わせることで、 「安全な外部URLだけをユーザーに提示する」設計ができます。

タイトルとURLをコピーしました