0 Tage Serie
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 characters
string 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.