Thread Perl und die Kontexte
(42 answers)
Opened by Muffi at 2014-10-07 10:42
Was die Bugzilla-Leute da gemacht haben ist eine Anfängerfehler.
Ähm, dass { } einen Listenkontext erzwingt sollte klar sein. Dass CGI::param im Listenkontext alle Werte eines CGI-Parameters zurück liefert, auch. Sowas kann man vermeiden, wenn man nicht quick an drity programming betreibt. Dass die Bugzilla-Leute eine schludrige Parameterüberprüfung haben, is eher logisch. Noch wunderhafter ist sowas: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #!/usr/bin/perl use strict; no warnings; use 5.010; use Data::Dumper; use CGI; my %hash = ( queste => 42, faustus => q(Poodle's core), oxnard => CGI::param('oxnard'), test => 123, ); say Dumper \%hash; T:\> cgi.pl oxnard=1 oxnard=99 z=991 $VAR1 = { '123' => undef, 'queste' => 42, '99' => 'test', 'faustus' => 'Poodle\'s core', 'oxnard' => '1' }; T:\> cgi.pl $VAR1 = { '123' => undef, 'queste' => 42, 'faustus' => 'Poodle\'s core', 'oxnard' => 'test' }; Wie zu sehen ist, muss höllisch aufgepasst werden, was Leute wo einfließen lassen an Code. Das ein Problem bei laxen Umgang mit CGI.pm existiert, wurde schon 2006 hingewiesen wie auf http://seclists.org/vulnwatch/2006/q4/6 zu lesen. Editiert von GwenDragon: Tippfehler, Hinweis auf VulnSec 2006 Last edited: 2014-10-07 12:18:41 +0200 (CEST) |