HTTP および HTTPS URL の堅牢な入力検証
Uri.IsWellFormedUriString
や Uri.TryCreate
などの一般的な URL 検証方法では、有効な HTTP URL を他のファイル パスから確実に区別できないことがあります。これは、HTTP または HTTPS URL のみが受け入れられるユーザー入力を検証する際に、重大な課題となります。
より正確なアプローチ: URI 検証とスキームチェックの組み合わせ
より堅牢なソリューションには、構造 URI 検証と HTTP または HTTPS スキームの特定のチェックを組み合わせることが含まれます。
Uri uriResult; bool isValidHttpUrl = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && uriResult.Scheme == Uri.UriSchemeHttp;
このコードは、まず Uri.TryCreate
を使用して、入力文字列 (uriString
) が整形式の URI であることを検証します。 成功した場合は、URI のスキームが Uri.UriSchemeHttp
であるかどうかを確認します。
HTTPS を含めるために検証を拡張します
HTTPS URL を含めるには、スキーム比較を展開するだけです:
Uri uriResult; bool isValidHttpOrHttpsUrl = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
この強化されたチェックは HTTP と HTTPS の両方のプロトコルを受け入れ、入力に対して包括的な URL 検証を提供します。
以上が入力内の HTTP および HTTPS URL を確実に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。