Abend zusammen
Du bist dir im Klaren, dass eine einzige HTML Entität in einem der Felder deine Ordnung zerstört?
Genau daran arbeite ich im Moment:
-------------------------------------------
my $name = CGI::param('name');
$name =~ s/;//gi;
$name =~ s/<//gi;
$name =~ s/>//gi;
$name =~ s/*//gi;
$name =~ s/|//gi;
$name =~ s/[//gi;
$name =~ s/]//gi;
$name =~ s/{//gi;
$name =~ s/}//gi;
$name =~ s/@//gi;
-------------------------------------------
Nur als Beispiel der ersten übergebenen CGI-Information. Dieser von mir entwickelte Code (hehe) sollte $name nach zwischen den Slashes stehenden Zeichen (erstes ist ein Semikolon) durchsuchen und gegen ein Leerzeichen ersetzen. -> Soweit die Theorie.
Inder Praxis sieht das dann so aus:
Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE / at GuestBookManager.pl line 26. ->Fehlermeldung
Ich habe mich streng an das SelfHtml-Beispiel gehalten:
http://de.selfhtml.org/perl/sprache/regexpr.htm#beispiel7
Warum die Fehlermeldung?
Jedes _Datenbank-Format_ hat einen Format-Kontext. Alle Daten, die diesen Kontext berühren, müssen maskiert werden auf eine Weise, die zweifelsfreie Unmask möglich machen.
Wenn ich dich richtig verstehe (und das ist nicht immer einfach), ist mein Datenbank-Kontext ein Semikolon. Das und einige andere HTML und Steuerzeichen für Schadcode muss ich allso schon vorher entfernen. Das sollte der obere Code eigentlich machen... eigentlich.
Prost Gary
PS. Juhuuu Morgen darf ich bereits um 16:00 Uhr in Feierabend - Ich mag meinen Job, aber früher frei zu haben ist auch ok *g*