[Vienna-pm] Zusätzlicher Nachtrag zu Escapen von Shellparametern: Fehler oder Feature?

Calli gooly at gmx.at
Mon May 5 06:55:16 PDT 2008


Am Montag, 5. Mai 2008 schrieb Josef Schmid:
> Leopold Toetsch schrieb:
> > Am Montag, 5. Mai 2008 13:34 schrieb Calli:
> >
> > [ stderr output ]
> >
> >> Mit einem 2>/dev/null kann ich den verhindern, aber nur bei
> >> version 2 bzw. Schleife 3:
> >>  my $size = $1
> >>               if ( `curl -I $u 2>/dev/null`
> >>                      =~ /.+?Length:\D*?(\d+)\D*/ );
> >>
> >> Hier
> >>      open(my $fh,'-|','curl', '-I',$u,'2>/dev/null/' ) or die
> >> "uups"; klappt das nicht - warum?
> >
> > In der ersten Variante wird eine Subshell erzeugt, in der 2. nicht.
> > S. auch:
> >
> > $ perldoc perlipc
> >
> > /Safe Pipe Opens
>
> 1.) Es gibt eine Menge von CPAN-Modulen für das saugen von Webseiten.
>      Ich glaub sogar einiges in den Core-Modulen.
>      Also ohne curl.
ja aber auch nach (ein bißchen) cpan-eln, hab ich in den abgefragten 
headers keine File-Size gefunden - und curl ist ganz einfach :)
> 2.) nächster Lösungsansatz: curl kennt die Option --silent
ok, das hatt ich in man überlesen, das geht.
> 3.) Die Standard-Dateideskriptoren werden an den Kindprozess vererbt.
>      also nach dem "do {" ein "local
> *STDERR=IO::File('>','/dev/null');" einfügen, sollte auch helfen.
das wird dann immer umstädlicher..

Frage zu den backticks, bzw system und exec: welches 'schlüsseloch' für 
Unerwünschte mit Unerwünschtem öffen die auf welche Weise eigentlich?
Oder anders gefragt, wann und wo würde es damit gefährlich werden?
Danke Calli


More information about the Vienna-pm mailing list