Thread Parameterübergabe mittels system("abc.pl", "arg") (22 answers)
Opened by Oliver at 2014-08-28 13:42

GwenDragon
 2014-08-28 15:35
#177013 #177013
User since
2005-01-17
14544 Artikel
Admin1
[Homepage]
user image
Wenn der Webnutzer nicht dieselben Rechte hat wie der Shell-Nutzer wird das nicht klappen.

Außerdem muss
Code (perl): (dl )
1
2
#!/usr/bin/perl -w
system('/shares/www/cgi-bin/rolladen_conf.pl', 'raum=egwc');
eher als
Code (perl): (dl )
1
2
3
4
use CGI;
my $query = new CGI;
$param = $query->param('raum');
system('/shares/www/cgi-bin/rolladen_conf.pl', "raum=$param");
übertragen werden.

Du solltest aber dann auch noch bevor du system aufrufst, den Parameter $param testen, ob da gültige Inhalet drin sind.

Wenn also der Raumname nur aus Buchstaben bestehen darf:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
use CGI;
my $query = new CGI;
$param = $query->param('raum');
if ($param =~ /^[A-Za-z]+$/) {
  my $retcode = system('/shares/www/cgi-bin/rolladen_conf.pl', "raum=$param");
  die "system failed: $?" if $retcode != 0;
}
else {
  print "Rollladen ok"
}

Last edited: 2014-08-28 16:04:55 +0200 (CEST)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread Parameterübergabe mittels system("abc.pl", "arg")