All pastes #1746523 Raw Edit

ok

public text v1 · immutable
#1746523 ·published 2010-01-11 05:37 UTC
rendered paste body
#!/usr/bin/perl
use CGI;

my $base = "/tmp/";

my $query = CGI->new;
my $filename = $query->param('filename');

if ($filename eq "") {
	$filename = $ARGV[0];
	print "Doing this from the command line, since no cgi passed\n";
}
$filename =~ s/\.\.//g;
my $goodfilename = $base . $filename . '/';
print "Reading dir: $goodfilename\n";
opendir('DIR', $goodfilename);
my @files = readdir('DIR');
closedir('DIR');
my @goodfiles;
while(@files) {
	my $workline = shift(@files);
	if (($workline ne '..') && ($workline ne '.') && ($workline ne "$filename")) {
		push(@goodfiles, $workline);
	}
}
#print "@goodfiles";
print "Content-disposition: attachment; filename=$goodfiles[0]\n";
print "Content-type: archive/zip\n\n";
my $realfile = $base . $goodfiles[0];
open(FILE, "< $realfile");
my @dat = <FILE>;
close(FILE);
print @dat;
#open(LOG, "> /tmp/downloadscript.txt");
#print LOG "filename: $filename\nshortfile: $shortfile\nrealfile: $realfile";
#close(LOG);