hi Thomas,
Im Script steht:
require 'html-lib.pl';Der wird aber nicht erklärt, für jemanden der sich auskennt ist
auf der Indexseite meines Script-Bereiches habe ich einen Hinweis, dass die 'html-lib.pl' in fast allen meiner Scripts verwendet wird, die 'html-lib.pl' selbst ist auch im Index:
Noch eine Frage: ist der Script sicher von Missbrauch? D.H. kann dieser Script dazu missbraucht werden, spam mails zu versenden?
Das von mir geschriebene Script *404.cgi* hat die folgende Aufgabe:
1. Einen Request auf eine nicht vorhandene Seite umleiten auf eine eigens definierte *Sorry-Seite*,
2. Einen Request nach *regulären Ausdrücken* zu handlen,
3. Einen Request auf *bekannte CGI Scripts welche Sicherheitslücken haben* zu handlen...
Die Definition der entsprechenden Kontrollstruktur steht jedem Nutzer frei der dieses Script einsetzt.
Rolf
=Beispiel 404.cgi Kontrollstruktur
Ersteinmal die Reqs. auf alte URLs umleiten:
if( $rq =~ /nslookup/ or $rq =~ /lchk/ or $rq =~ /whichserver/){ redir("/webtools") }
elsif( $rq =~ /show_script/ or $rq =~ /mailform/ or $rq =~ /download/ ){ redir("/downloads") }
elsif( $rq =~ /tungus/ ){ redir("/private/tunguska")}
elsif( $rq =~ /hobby/ ){ redir("/private") }
elsif( $rq =~ /404.cgi/){ redir("/404.html")}
elsif( $rq =~ /trech/ ){ redir("/article")}
elsif( $rq =~ /guestbook/ ){ redir("/about.html")}
elsif( $rq =~ /board/ ){ redir("/index.shtml")}
elsif( $rq =~ /cgi-bin/(.*)/i){ # hier alle anderen Reqs. auf cgi-bin/
print "Content-type: text/html\n\n";
a_html "I-NetLab Verwarnung","/nv.css";
verwarnung $1;
$zeit = strftime("%d.%m.%Y %X", localtime);
# Mesg. zusammenbauen (fuer die Mail)
my $host = revlookup($ENV{'REMOTE_ADDR'});
$msg .= qq(
REQUEST_URI: $ENV{'REQUEST_URI'}
REMOTE_ADDR: $ENV{'REMOTE_ADDR'}
REDIRECT_ERROR_NOTES: $ENV{'REDIRECT_ERROR_NOTES'}
HTTP_REFERER $ENV{'HTTP_REFERER'}
DIALINHOSTNAME: $host
EreignisZeit: $zeit
);
mail($smtp_host, $rcpt, $subject, $msg, $abs_email) and print qq(<p><b>Mail an Webmaster...</b>);
z_html;
}
else{redir("/404.html");} # Alles was nicht gefunden wurde
=cut