Wyjaśnienie
Jak działa Tester Regex
Regex-Tester wartościuje wyrażenie regularne (składnia JavaScript/ECMAScript) względem tekstu testowego i wyświetla trafienia, ich pozycję oraz przechwycone grupy. Za pomocą flag sterujesz między innymi wyszukiwaniem globalnym (g), wielkością liter (i) oraz zachowaniem wielowierszowym (m).
Ważne dla bezpieczeństwa: wzorzec wprowadzony przez użytkownika może przez "katastrofalny backtracking" liczyć dowolnie długo. Samo ograniczenie długości wejścia przed tym nie chroni. Dlatego analiza działa w osobnym Web Worker; jeśli nie odpowie on w krótkim czasie, zostaje twardo zakończony i odrzucony. Wątek główny — a tym samym obsługa — pozostaje przez cały czas responsywny.
Granice tego narzędzia
- Tylko składnia JavaScript-Regex — brakuje osobliwości PCRE/.NET.
- Blokujące wzorce są przerywane, a nie "naprawiane".
- Maksymalnie 1000 przetworzonych trafień (wyświetlanych jest pierwszych 100).
Źródła
- ECMAScript Specification: Składnia i semantyka RegExp.
- OWASP: Regular expression Denial of Service (ReDoS).