Thread Shell-Befehl mit Wert aus cgi-param (9 answers)
Opened by Hagen at 2014-09-07 12:44

Hagen
 2014-09-07 12:44
#177127 #177127
User since
2007-09-06
233 Artikel
BenutzerIn
[default_avatar]
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

View full thread Shell-Befehl mit Wert aus cgi-param