Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6684[/thread]

Beschränkung von Dateitypen: bei Dateiupload



<< >> 5 Einträge, 1 Seite
Gast Gast
 2005-02-02 20:23
#51525 #51525
Hallo,
ich muss in einem bestehenden Perl-Skript zum Hochladen von Dateien eine Beschränkung auf bestimmte Dateitypen realisieren. Kann mir da jemand weiterhelfen?

Vielen Dank,
K.
[E|B]
 2005-02-02 20:56
#51526 #51526
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
HiHo,

wenn du mit "Dateityp" die typische Windowsendungen meinst, lass doch einen kurzen Regexp drüber laufen:

Code: (dl )
1
2
3
4
5
6
7
8
9
my $file = "test.png";
my @files = qw(exe zip jpg gif);
my $match = 0;

foreach (@files) {
  $match++ if $file !~ /\.$_$/i;
}

print "Dateiendung ungueltig!" if $match == scalar(@files);
\n\n

<!--EDIT|[E|B]|1107370632-->
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
sesth
 2005-02-02 22:36
#51527 #51527
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Ich würde zunächst mal HTML ausschöpfen. Beim Upload-Feld kann man mit dem "accept"-Attribut die Dateitypen einschränken:
Code: (dl )
<input name="Datei" type="file" size="50" maxlength="100000" accept="image/*">

"accept" bezieht sich aber auf den Mimetype und nicht auf die Dateiendung und wird nicht von jedem Browser korrekt interpretiert. Es hat aber als zusätzliche Maßnahme den Vorteil, dass die Prüfung vor dem Upload erfolgt.

Gruß
Thomas
Gruß
Thomas
betterworld
 2005-02-02 23:08
#51528 #51528
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Wirklich sicher ist das aber alles nicht. Insbesondere die letzte Version von sesth, denn da ist die Beschraenkung nur auf der Clientseite, d. h. es kann sie eigentlich jeder umgehen, der weiss, wie sein Browser funktioniert. Aber auch die Ueberprruefung auf Dateiendungen ist unter Umstaenden nicht sicher, denn man kann Dateien auch einfach vor dem Hochladen und nach dem Herunterladen umbenennen. Es kommt halt drauf an, was Du mit der Beschraenkung erreichen moechtest. Wenn Du zum Beispiel einen oeffentlichen Upload-Bereich zur Verfuegung stellst, aber nicht moechtest, dass die Leute ihre MP3s ins Internet stellen, hast Du eigentlich keine Chance. Wer schon mal versucht hat, mit einer Suchmaschine Musik zum Herunterladen zu finden, weiss, dass bei vielen Downloads dabei steht, dass man sie nach dem Speichern umbenennen soll ;)
sri
 2005-02-03 03:04
#51529 #51529
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
perldoc File::MMagic
<< >> 5 Einträge, 1 Seite



View all threads created 2005-02-02 20:23.