Schrift
[thread]538[/thread]

upload in anderse Verzeichnis

Leser: 2


<< >> 3 Einträge, 1 Seite
werwolf
 2005-07-30 18:46
#5340 #5340
User since
2005-07-30
1 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo
Hab ein Problem:
Ich kann Files in mein Script-Verzeichnis uploaden, ich möchte sie aber in einem übergeordneten Ordner uploaden!
Was muss ich an meinem Script ändern?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use strict;

use CGI::Carp ('fatalsToBrowser');
use CGI ('param', 'upload');

print "Content-type: text/html\n\n";

print "File upload...";

my $originalname = param('pic');
my $filehandle = upload('pic');

if (! $originalname) {
die("Upload war nicht erfolgreich");
}


binmode($filehandle);

open(OUT, ">$originalname")
or die("kann nicht schreiben: $!");
binmode(OUT); # danke an Martin den masterchecker;-)

while ($zeile = <$filehandle>) {
print OUT $zeile;
}

close OUT;
close $filehandle;



print "<p>Fertig, hier ist ihr bild:\n";
print "<p><img src=\"$originalname\">\n";
esskar
 2005-07-30 18:55
#5341 #5341
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
$originalname = "AndererPfad/$originalname";
open(OUT, ">$originalname") #...

du musst aber sicherstellen, dass der pfad existiert
GwenDragon
 2005-07-30 19:17
#5342 #5342
User since
2005-01-17
14538 Artikel
Admin1
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
my $originalname = param('pic');
my $filehandle = upload('pic');

if (! $originalname) {
die("Upload war nicht erfolgreich");
}
...
...

open(OUT, ">$originalname")

Schon einmal daran gedacht, den Parameter pic auf gültige Zeichen und Verzeichnisse zu prüfen? So wie das dort steht, ist es eine Sicherheitslücke, denn in $originalname kann ich sonstwas reinschreiben wenn ich es als Parameter an das Skript übergebe.
die Drachin, Gwendolyn


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

<< >> 3 Einträge, 1 Seite



View all threads created 2005-07-30 18:46.