Hi,
$pg=~s/&/&/g;
$pg=~s/</</g;
$pg=~s/>/>/g;
ja. Definierte Entities wie & würden es allerdings auch tun.
Nach dem submitted der textarea müssen die escapten Werte wieder zurückgewandelt werden
Nein. Nach dem Parsen des gelieferten HTML-Codes durch den Client sind keine Entities mehr vorhanden - und wenn doch, wurden sie als solche eingegeben und müssen ergo bleiben.
$in{'data'} =~ s/</</g;
%in? Hast Du das aus CGI::param erzeugt? Wenn ja, warum? Wenn nein, warum nicht?
Frage: Hab ich beim escapen der Werte noch irgentwas übersehen?
Das Content-Modell von <textarea> enthält PCDATA. Das bedeutet, HTML-spezifische Zeichen müssen escaped werden, inklusive des Escape-Zeichens "&" selbst. Theoretisch reichen also "&" und "<" - es ist allerdings alles andere als falsch (um nicht zu sagen, um vieles besser), einfach HTML::Entities einzusetzen. Dadurch entfällt dann auch die Beschränkung auf Text-Dateien.
Cheatah
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes