use CGI;
$q = new CGI;
$value = $q->param('foo');
print $value;
$value;
^^^^^^^hättest du Warnungen aktiviert, bekämst du hier eine Warnung "Useless use of a variable in void context ...". Bitte, beginne deine Programme mit "use strict; use warnings;"!
»»
Hi,
mach ich ja normalerweise auch, aber bei so nem Minitestprogramm hab
ichs jetzt halt nicht gemacht. Die Faulheit läßt grüßen :o)
Perl ist nämlich keine Shell. Das einfach platzieren von $value bewirkt nicht, dass deren Inhalt ausgeführt wird. In dem Fall hättest du eine Sicherheitslücke.
Folgendes Programm ist sicherheitskritisch und darf NIEMALS auf einem Webserver liegen!
#!/usr/bin/perl
use strict;
use warnings;
use CGI qw/:standard/;exec param('exec');
__END__Aufruf:
$ perl tt.pl "exec=echo Sicherheitslücke"
Aha, ok sowas hab ich gesucht. Danke.
cya
alligator