强大的输入验证:在 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
,从而保证有效的网址。 结果 (isValid
) 是一个布尔值,指示输入是否是有效的 HTTP 或 HTTPS URL。
此方法提供了一种更可靠、更安全的方式来验证 C# 中的 URL,有效防止接受潜在有害的输入。
以上是如何在 C# 中可靠地验证 HTTP 和 HTTPS URL?的详细内容。更多信息请关注PHP中文网其他相关文章!