Thread Shell-Befehl mit Wert aus cgi-param
(9 answers)
Opened by Hagen at 2014-09-07 12:44
Hallo,
die Ursprungs-Aufgabe ist, über ein Web-Formular einen Text einzulesen und diesen in einer Grafik anzuzeigen ("Layout-Vorschau"). Ausschnitt aus dem Skript: Code (perl): (dl
)
1 2 my $text = $cgi->param('text'); `mogrify -gravity NorthWest -font Times-Bold -pointsize 14 -draw "text 10,30 '$text'" $file`; Jetzt stellt sich die Frage, wie man das ganz 'sicher' hinbekommt, da der versierte Nutzer hier bestimmt auch unerwünschte Befehle ausführen kann. Erster Gedanke war eine Positiv-Liste aller erlaubter Zeichen, Code (perl): (dl
)
$text =~ s|[^a-zA-Z0-9]||g; aber gerade wenn es um Text bzw. Namen geht, wird die Liste sehr lang. Ggf. wäre eine Negativ-Liste einfacher, derzeit würde ich an folgendes denken: Code (perl): (dl
)
$text =~ s|["'`]||g; Reicht das bzw. übersehe ich etwas? Oder gibt es evtl. noch eine bessere Lösung ohne die Texteingabe zu sehr einzuschränken? Gruß
Hagen |