Thread Parameter aus DB direkt bereinigen (6 answers)
Opened by karhuso at 2010-09-06 14:40

pq
 2010-09-06 15:11
#141210 #141210
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2010-09-06T12:40:27 karhuso
Um eingeschleusten schadhaften Code unschädlich zu machen

man kann code nicht generell unschädlich machen.
für DBI sind eingeschleuste quotes und kommentarzeichen z.b. gefährlich. für die shell das semikolon, & usw.
für die darstellung im browser sind <> und & gefährlich.

du müsstest also erstmal sagen, was du da für einen input hast und wo der dargestellt werden soll.
gäbe es eine generelle lösung, code überall und für jeden output unschädlich zu machen, würde sie wohl jeder heute benutzen, aber das geht nicht.

wenn es für HTML-output ist, benutze ein vernünftiges template-modul, welches dir default-escaping bietet, so dass du nur im umgekehrten fall angeben muss, dass du gerade mal nicht escapen willst.
z.b. HTML::Template oder HTML::Template::Compiled. bei Template-Toolkit soll das auch irgendwie gehen, ist aber komplizierter.

für DBI gibt es platzhalter.
für shell-kommandos gibt es z.b. system() mit mehreren parametern oder module wie IPC::Run.
Last edited: 2010-09-06 15:12:49 +0200 (CEST)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Parameter aus DB direkt bereinigen