Thread HTML Seite mit Links mittels Perl-Module erstellen
(53 answers)
Opened by rooky at 2007-10-25 01:56
Der Server kann nur Dateien ausliefern, die im Documentroot sind!
Dein Homeverzeichnis ist eben nicht Documentroot. Vielleicht hilft folgendes abzuändern: //EDIT: Zeile 10: löschen! Wenn du pfad als Parameter mit dem absoluten Pfad an das CGI-Skript übergibst, dann wird nur da gesucht, ansonsten im HOME-Verzeichnis. Zeile 12: statt Code: (dl
)
find( \&wanted, '.' ); Code: (dl
)
1 #unbedingt kompletten Pfad angeben! Die Angabe eines Pfades als CGI-Parameter ist aber nicht ohne Risiko. Damit können dann alle Dateien in dem Pfad geholt werden! Zeile 23: statt Code: (dl
)
push @files, $_ if /\.pdf$/; Code: (dl
)
push @files, "$File::Find::dir/$_" if /\.pdf$/; Zeile 29: statt Code: (dl
)
<%LOOP LINKS %><li><a href="<%= HREF ESCAPE=URL %>"><%= TITLE ESCAPE=HTML %></a></li> Code: (dl
)
<%LOOP LINKS %><li><a href="file://localhost/<%= HREF ESCAPE=URL %>"><%= TITLE ESCAPE=HTML %></a></li> Durch das Hinzufügen von file:// wird lokal auf die Dateien zugeriffen. Wenn du also das CGI so aufrufst: http://localhost/~user/skript.pl wird alles in deinem Homeverzeichnis durchsucht! Wenn du also das CGI so aufrufst: http://localhost/~user/skript.pl?pfad=/home/user1/... wird alles in /home/user1/test/docs durchsucht! //EDIT2: ungetestet |