Heim >Backend-Entwicklung >C++ >Wie kann ich HTTP- und HTTPS-URLs in C# zuverlässig validieren?
Robuste Eingabevalidierung: Überprüfung von HTTP- und HTTPS-URLs in C#
Eine sichere Eingabevalidierung ist für jede Anwendung von entscheidender Bedeutung. Es reicht nicht aus, einfach zu prüfen, ob eine Zeichenfolge wie eine URL aussieht; Wir müssen sicherstellen, dass es sich um eine gültige HTTP- oder HTTPS-Adresse handelt. Methoden wie Uri.IsWellFormedUriString
können irreführend sein, da sie Dateipfade als gültige URLs akzeptieren.
Eine präzisere Lösung
Dieser verbesserte Ansatz validiert HTTP- und HTTPS-URLs genau und verhindert so Schwachstellen:
<code class="language-csharp">Uri uriResult; bool isValid = Uri.TryCreate(uriString, UriKind.Absolute, out uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);</code>
Dieser Code verwendet Uri.TryCreate
, um zu versuchen, die Eingabezeichenfolge (uriString
) zu analysieren. UriKind.Absolute
stellt sicher, dass nur absolute URLs akzeptiert werden. Die anschließende Prüfung stellt sicher, dass das Schema entweder http
oder https
ist, was eine gültige Webadresse garantiert. Das Ergebnis (isValid
) ist ein boolescher Wert, der angibt, ob die Eingabe eine gültige HTTP- oder HTTPS-URL ist.
Diese Methode bietet eine zuverlässigere und sicherere Möglichkeit, URLs in C# zu validieren und verhindert so effektiv die Annahme potenziell schädlicher Eingaben.
Das obige ist der detaillierte Inhalt vonWie kann ich HTTP- und HTTPS-URLs in C# zuverlässig validieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!