ホームページ >バックエンド開発 >C++ >入力内の HTTP および HTTPS URL を確実に検証するにはどうすればよいですか?

入力内の HTTP および HTTPS URL を確実に検証するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-09 14:08:42338ブラウズ

How Can I Reliably Validate HTTP and HTTPS URLs in Input?

HTTP および HTTPS URL の堅牢な入力検証

Uri.IsWellFormedUriStringUri.TryCreate などの一般的な URL 検証方法では、有効な HTTP URL を他のファイル パスから確実に区別できないことがあります。これは、HTTP または HTTPS URL のみが受け入れられるユーザー入力を検証する際に、重大な課題となります。

より正確なアプローチ: URI 検証とスキームチェックの組み合わせ

より堅牢なソリューションには、構造 URI 検証と HTTP または HTTPS スキームの特定のチェックを組み合わせることが含まれます。

<code class="language-csharp">Uri uriResult;
bool isValidHttpUrl = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && uriResult.Scheme == Uri.UriSchemeHttp;</code>

このコードは、まず Uri.TryCreate を使用して、入力文字列 (uriString) が整形式の URI であることを検証します。 成功した場合は、URI のスキームが Uri.UriSchemeHttp であるかどうかを確認します。

HTTPS を含めるために検証を拡張します

HTTPS URL を含めるには、スキーム比較を展開するだけです:

<code class="language-csharp">Uri uriResult;
bool isValidHttpOrHttpsUrl = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);</code>

この強化されたチェックは HTTP と HTTPS の両方のプロトコルを受け入れ、入力に対して包括的な URL 検証を提供します。

以上が入力内の HTTP および HTTPS URL を確実に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。