強大的輸入驗證:在 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中文網其他相關文章!