#!/usr/bin/perl # Name des Scripts: autoindex.pl # Autor: Rolf Rost, endgültige Fassung: 20.3.1999 # autoindex.pl liest eine Dir und stellt gefundene HTML Dateien mit # Title als Link dar, ausserdem wird das Datum der Dateien gezeigt # Script wird aufgerufen wie folgt: # /cgi-bin/autoindex.pl?kennwort # Das Kennwort wird offen eingegeben, ist also kein Geheimnis. # Dem Kennwort ist hier im Script eine eindeutige Directory zugeordnet # Somit können nur erlaubte Directorys gebrowst werden # Die Übergabe der zugelassenen Directory erfolgt über einen Hash # Hosting: Dieses Script muss auf demselben lokalem Server gehostet sein # wo auch die Dokumente liegen, weil diese geöffnet werden. # >---Configuration---> # Laufwerksbuchstaben können auf einem NT Server auch entfallen, wenn # sich die Verzeichnisse auf Laufwerk c: befinden. # Es empfiehlt sich jedoch, # die Laufwerksbuchstaben hier mit anzugeben nur wegens der Übersicht. # Serverroot, am Ende kein Slash # Beispiel: $sr = "c:/links.pl"; $sr = "c:/links.pl"; # Servername, am Ende kein Slash # Beispiel: $sn = "http://links.pl"; $sn = "http://links.pl"; # Sicherheits-Hash-Table, hier stehen nur zugelassene Verzeichnisse! # Beispiel, wie die erlaubten Verzeichnisse einzutragen sind # %zugel=( # "kennwort","/verzeichnis/erlaubt", # "kaw","c:/verzeichnis/erlaubt/aucherlaubt", # ); %zugel=( "lnk","c:/links.pl", "tst","c:/links.pl/test", ); # <---Ende der Configuration---< # Ab hier nichts mehr verändern... nur im Notfall ;-) # Parameter auslesen $d=$ENV{QUERY_STRING}; # Nur zugelassene Verzeichnisse zuweisen per Hash $d=$zugel{$d}; if(!$d){&fehler;} # wenns Kennwort nicht stimmt, fliegst raus hier! # Serverdirectory zusammensetzen $vorn=substr($d,length($sr)+1); if($d eq $sr){ $sd="$sn$vorn"; } else{ $sd="$sn/$vorn"; } # Kategorie ermitteln $kat = substr($d,rindex($d,"/")+1); # Ab hier wird das HTML Dokument zum Browser geschickt print "Content-type: text/html\n\n"; print "