Thread Problem mit CGI::Fast und Taint Modus
(0 answers)
Opened by darlin at 2008-04-21 15:22
Hallo
Ich experimentiere im Moment mit CGI::Fast herum und bin auf ein kleines (?) Problem gestoßen. Zur Erläuterung 2 Beispiele, eins mit und eins ohne FastCGI: test.cgi Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #!/usr/bin/perl -T use strict; use warnings; use CGI; use CGI::Carp qw/fatalsToBrowser/; use Scalar::Util qw(tainted); my $q = new CGI; print $q->header; print "PID: ",$q->b($$); print $q->br; my $cmd = $q->param('cmd'); if (tainted($cmd)) { print $q->b('$cmd is tainted'); } print $q->br; print "Taint Mode aktiv: ${^TAINT}"; print $q->end_html test.fcgi Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #!/usr/bin/perl -T use strict; use warnings; use CGI::Fast; use CGI::Carp qw/fatalsToBrowser/; use Scalar::Util qw(tainted); while (my $q = new CGI::Fast) { print $q->header; print "PID: ",$q->b($$); print $q->br; my $cmd = $q->param('cmd'); if (tainted($cmd)) { print $q->b('$cmd is tainted'); } print $q->br; print "Taint Mode aktiv: ${^TAINT}"; print $q->end_html; } Normalerweise sollten beide '$cmd is tainted' ausgeben. Das tut aber nur 'test.cgi'. Bei beiden ist der Taint Mode laut ${^TAINT} aber aktiviert. Muss ich bei CGI::Fast noch was extra aktivieren ? mfg Darlin |