csharp / intermediate
Snippet
Verhinderung von Injektionen durch parametrisiertes Filtern
Die Bereinigung von Eingaben (Sanitization) ist eine grundlegende Sicherheitspraxis. Die Verwendung regulärer Ausdrücke zur Positivlistung erlaubter Zeichen stellt sicher, dass bösartige Zeichen, die bei Injektionsangriffen verwendet werden, entfernt werden, bevor die Daten in Befehlen oder Abfragen verwendet werden.
snippet.cs
csharp
1
2
3
4
5
6
7
8
9
10
11
12
13
using System.Text.RegularExpressions;public string SanitizeInput(string input){// Allow only alphanumeric characters to prevent script or command injectionreturn Regex.Replace(input, @"[^a-zA-Z0-9]", "");}public void ExecuteSafeCommand(string rawData){string cleanData = SanitizeInput(rawData);Console.WriteLine($"Executing with: {cleanData}");}
Erklärung
1
Regex.Replace(input, @"[^a-zA-Z0-9]", "")
Ersetzt jedes Zeichen, das KEIN Buchstabe oder eine Ziffer ist, durch eine leere Zeichenfolge.
2
string cleanData = SanitizeInput(rawData);
Stellt sicher, dass die Daten vom Sicherheitsfilter verarbeitet werden, bevor eine Ausführung erfolgt.