Thread Regex negieren (27 answers)
Opened by fs at 2010-03-19 09:57

betterworld
 2010-03-19 16:39
#135083 #135083
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
2010-03-19T14:38:16 fs
2010-03-19T13:31:58 betterworld
Man sollte Benutzereingaben nicht einfach als Regex ausführen. Vor allem, wenn es keine vertrauenswürdigen Benutzereingaben sind.


Wieso das?

Es gibt Regexes, die

1) Eine Exception werfen (zum Beispiel wegen Syntaxfehler)
2) Nicht (oder so gut wie nicht) terminieren
3) Einen Stack Overflow erzeugen oder einen riesigen Arbeitsspeicherbedarf haben
4) Komische Bugs in der Regex-Engine entdecken
5) Beliebigen Code ausführen, doch das geht in der Regel bei eingebetteten Strings nur dann, wenn "use re 'eval'" benutzt wird.

Ob und wie 2 bis 4 zutrifft, hängt auch von der Perlversion ab.

Quote
Inwiefern lösen sie das Problem?

Sie tun genau das, was Du meiner Auffassung nach gefragt hast. Wenn Du nicht dieser Auffassung bist, solltest Du "das Problem" genauer beschreiben.

edit: typo
edit: link
Last edited: 2010-03-23 20:45:08 +0100 (CET)

View full thread Regex negieren