csharp / intermediate
Snippet
Validierung der Eingabeintegrität mit regulären Ausdrücken
Eingabevalidierung ist eine Kernsäule der Sicherheit. Die Verwendung von Regex ermöglicht die Durchsetzung strenger Formate. Die Angabe eines Timeouts für Regex.IsMatch verhindert potenzielle Denial-of-Service (DoS)-Angriffe durch Backtracking (ReDoS).
snippet.cs
csharp
1
2
3
4
5
6
7
8
9
10
11
using System.Text.RegularExpressions;public class SecurityValidator {public bool IsValidUsername(string input) {if (string.IsNullOrWhiteSpace(input)) return false;// Only alphanumeric, 5-15 charactersstring pattern = @"^[a-zA-Z0-9]{5,15}$";return Regex.IsMatch(input, pattern, RegexOptions.None, System.TimeSpan.FromMilliseconds(100));}}
Erklärung
1
@"^[a-zA-Z0-9]{5,15}$"
Ein wörtliches String-Literal, das ein Muster für 5 bis 15 alphanumerische Zeichen definiert.
2
System.TimeSpan.FromMilliseconds(100)
Sicherheits-Timeout, um katastrophales Backtracking während der Regex-Auswertung zu verhindern.