メインコンテンツへ
短.be

入力バリデーション

ユーザーからの入力データが期待する形式や範囲に合致するかを検証するプロセス。セキュリティの第一防衛線。

2025年9月27日 · 約 1 分で読めます

セキュリティ

入力バリデーションとは、ユーザーからの入力データが期待する形式や範囲に合致するかを検証するプロセスです。 XSS 、 SQL インジェクション、コマンドインジェクションなど、多くの Web 攻撃の第一防衛線として機能します。

入力バリデーションには 2 つのアプローチがあります。ホワイトリスト方式 (許可するパターンを定義し、それ以外を拒否) とブラックリスト方式 (禁止するパターンを定義し、それ以外を許可) です。セキュリティの観点では、ホワイトリスト方式が圧倒的に推奨されます。ブラックリスト方式は攻撃パターンの網羅が困難で、新しい攻撃手法に対して脆弱になるためです。

短縮 URL サービスでは、ユーザーが入力する URL のバリデーションが特に重要です。検証すべき項目は、 URL の形式が正しいか (RFC 3986 準拠) 、プロトコルが http:// または https:// か (javascript: スキームの排除) 、ドメインがブラックリストに含まれていないか (フィッシングサイトの排除) 、 URL の長さが上限以内か、です。 javascript: スキームの URL を許可すると XSS 攻撃が成立するため、プロトコルのホワイトリスト検証は必須です。

バリデーションはクライアントサイド (ブラウザ) とサーバーサイドの両方で実施することが鉄則です。クライアントサイドのバリデーションはユーザー体験の向上 (即座のフィードバック) が目的であり、セキュリティ上の防御にはなりません。攻撃者はブラウザのバリデーションを容易にバイパスできるため、サーバーサイドでの検証が不可欠です。関連書籍は Amazon でも探せます。

X でシェアはてブ

この記事は役に立ちましたか?

関連用語

関連記事

よくある質問

入力バリデーションはクライアント側とサーバー側のどちらで行うべきですか?
両方で行うべきです。クライアント側はユーザー体験の向上のため、サーバー側はセキュリティのために必須です。クライアント側のバリデーションはバイパス可能なため、サーバー側を省略してはいけません。
入力バリデーションで防げる攻撃は?
SQL インジェクション、 XSS 、コマンドインジェクション、パストラバーサルなどの攻撃を防止できます。ホワイトリスト方式 (許可する入力パターンを定義) が最も安全です。

短縮 URL を作成してみませんか?

無料で URL を短縮する