#!/usr/local/bin/perl # Simple Gallery v.05b # Copyright 2006-2007 Jeremy Kister http://jeremy.kister.net./ use strict; use CGI qw(:standard -nosticky); use CGI::Carp ('fatalsToBrowser'); my $q = CGI->new; my $me = $ENV{'SCRIPT_NAME'}; my $dir = $q->param('dir'); die "dir: $dir\n" if($dir =~ /\.\./); die "private area\n" if($dir =~ /private\//); my $id = $q->param('id') || '1'; die "id: $id\n" unless($id =~ /^\d+$/); my $path = $ENV{'DOCUMENT_ROOT'} . '/' . $dir; print $q->header(-expires=>'now'), $q->start_html('Simple Gallery'); my %files; if(opendir(DIR, $path)){ my $i = 1; foreach my $obj (sort grep {!/^\./} readdir DIR){ unless(-d "$path/$obj"){ $files{$i} = $obj; } $i++; } closedir DIR; print '', "\n", '
', "\n", '', $files{$id}, "\n"; }else{ print "could not open directory: $path: $!\n"; } print $q->end_html();