Schrift
[thread]6569[/thread]

Fehler im Modul abfangen: und Taint Mode



<< |< 1 2 >| >> 15 Einträge, 2 Seiten
anti
 2004-12-13 12:06
#49939 #49939
User since
2003-11-29
155 Artikel
BenutzerIn
[default_avatar]
Hi Community,

kaum wieder online schon eine neue Frage ;)

1. benutze ich den -T Operator beim Aufruf von Perl (ist ein CGI-Skript ) meldet mir Perl folgenden Fehler
Quote
Software error:
Insecure $ENV{PATH} while running with -T switch at /var/www/cgi-bin/projekt/start.cgi line 78.

also bei:
Code: (dl )
my $erg = qx(rm -rf $Directory);

was völlig logisch erscheint, da ein solcher Aufruf ja prinzipiell "gefährlich" ist. Allerdings wird die Variable $Directory hier nur von mir innerhalb des Skripts gesetzt, der User kann also nichts verändern. Lässt sich das irgendwie mit dem Taint Mode vereinbaren oder fallen solche "kritischen" system calls weg (ich wurde aus perldoc perlsec nicht wirklich schlau)?

2. Ich verwende das Modul Net::SCP::Expect. Wird beim Aufruf kein Passwort übergeben bekomme ich
Quote
Software error:
No password. Can't scp at /var/www/cgi-bin/projekt/start.cgi line 711

Kann ich diesen Fehler im Modul irgendwie abfangen, da sonst meine komplette Anwendung hängt?

Danke,
anti
Crian
 2004-12-13 12:25
#49940 #49940
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Im Zweifelsfall den Fehler per eval fangen.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
anti
 2004-12-13 12:33
#49941 #49941
User since
2003-11-29
155 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,13.12.2004, 11:25]Im Zweifelsfall den Fehler per eval fangen.[/quote]
:blush: Klar - geht - Danke!
Crian
 2004-12-13 12:37
#49942 #49942
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Vielleicht gibt es ja aber auch noch eine Modulspezifische Möglichkeit, etwa einen Errorhandler zu setzen oder dergleichen, ich kenne mich allerdings mit dem Modul nicht aus.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2004-12-13 13:05
#49943 #49943
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Häufig geht auch so etwas:
Code: (dl )
$obj->methode() or do_something();
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2004-12-13 13:14
#49944 #49944
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Am besten mal eine Blick in die zugehörige Doku werfen...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
anti
 2004-12-13 13:46
#49945 #49945
User since
2003-11-29
155 Artikel
BenutzerIn
[default_avatar]
Sorry,

tatsächlich sagt ein Blick in die Doku:
Quote
$scp->get("filename") or die $scp->{errstr};
$scp->put("filename") or die $scp->{errstr};


Merke: Zuerst die Doku lesen! :blush:
Crian
 2004-12-13 14:49
#49946 #49946
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Renee hat richtig geraten :D
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pq
 2004-12-13 15:14
#49947 #49947
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=anti,13.12.2004, 11:06]
Quote
Software error:
Insecure $ENV{PATH} while running with -T switch at /var/www/cgi-bin/projekt/start.cgi line 78.
[/quote]
perl sagt dir, ja, dass $ENV{PATH} unsicher ist, nicht $Directory!
$ENV{PATH} kommt ja auch von außen.
also: $ENV{PATH} = 'pfade/die/du/brauchst';
und fertig.
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
anti
 2004-12-13 17:28
#49948 #49948
User since
2003-11-29
155 Artikel
BenutzerIn
[default_avatar]
[quote=pq,13.12.2004, 14:14]also: $ENV{PATH} = 'pfade/die/du/brauchst';[/quote]
Danke, geht!

Was "sagt" mir ein:
Quote
Insecure dependency in `` while running with -T switch at /var/www/cgi-bin/projekt/start.cgi line 70.

also bei:
Code: (dl )
my $erg = qx(mkdir $Directory);


greetz,
anti\n\n

<!--EDIT|anti|1102952057-->
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2004-12-13 12:06.