Thread ersetzung von sonderzeichen mit perl
(4 answers)
Opened by Gast at 2008-04-22 15:34
Beachte, dass bei manchen Browsern der komplette Pfad auf dem lokalen Rechner mitgeliefert wird. Ich nehme mal an, dass "filename" der Name eines Datei-Felds im Formular ist. Du solltest also den Dateinamen mit File::Basename raussuchen...
Dann würde ich eher mit einer "Whitelist" statt mit einer "Blacklist" arbeiten und alles außer alphanumerischen Zeichen plus "." und "-" durch "_" ersetzen... Code (perl): (dl
)
1 2 3 4 5 6 7 use File::Basename; my $query = CGI->new(); my $basename = basename( $query->param('filename') ); my $file_name = $query->param("id").$query->param("auftrag").$basename; $file_name =~ s![^\w.-]!_!g; 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/ |