堅牢な入力検証: C# での HTTP および HTTPS URL の検証
安全な入力検証は、どのアプリケーションにとっても重要です。 単に文字列が URL に見えるかどうかをチェックするだけでは十分ではありません。 有効な HTTP または HTTPS アドレスであることを確認する必要があります。 Uri.IsWellFormedUriString
のようなメソッドは、ファイル パスを有効な URL として受け入れるため、誤解を招く可能性があります。
より正確な解決策
この改善されたアプローチは、HTTP および HTTPS URL を正確に検証し、脆弱性を防止します。
<code class="language-csharp">Uri uriResult; bool isValid = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);</code>
このコードは、Uri.TryCreate
を使用して入力文字列 (uriString
) の解析を試みます。 UriKind.Absolute
は、絶対 URL のみが受け入れられることを保証します。後続のチェックでは、スキームが http
または https
であることが検証され、有効な Web アドレスが保証されます。 結果 (isValid
) は、入力が有効な HTTP または HTTPS URL であるかどうかを示すブール値です。
このメソッドは、C# で URL を検証するためのより信頼性が高く安全な方法を提供し、有害な可能性のある入力の受け入れを効果的に防ぎます。
以上がC# で HTTP および HTTPS URL を確実に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。