Hoi,
erstmal vielen Dank für deine super ausführliche Antwort.
Gerne
Ich habe den Code versucht in meine Seite einzubinden und es hat
auch sofort funktioniert.
Na schau ;-)
Wenn ich deinen Code richtig interpretiert habe, prüft dieser in
erster Linie, ob die angegebende URL auch gültig ist. (inkl. allen
möglichen Facetten)
Ja.
Ist das grundsätzlich überhaupt notwendig? Wenn der User bewusst
eine falschen URL angibt, so hat er doch selbst schuld, dass man
Ihm keine E-Mail schreiben kann, bzw. nicht auf seine Seite kommt.
Nun, der RegEx ist darauf ausgelegt, URLs im Fliesstext zu finden.
Und dort kann man sie nur an syntaktischer Korrektheit
identifizieren. Um den RegEx auf Fliesstext anzuwenden, musst du
allerdings noch das ^ und das $ am Anfang und am Ende entfernen.
Generell gilt aber sowieso der Grunsatz: traue keiner User-Angabe.
Damit kannst du boese auf die Schnau** fallen. Im unkritischsten
Fall koennten fehlerhafte, ungeparste Usereingaben dein Programm
zum Absturz bringen. Im schlimmsten Fall koennte ein Hacker oder
ein Scriptkiddy diese Schwachstelle in deinem Programm ausnutzen,
um Schaden anzurichten oder sich unbefugten Zutritt zu verschaffen.
Bei PHP z. B. kann es durchaus sein, dass jemand durch Usereingaben
dir die Datenbank loeschen kann.
Gruesse,
CK