#!/usr/bin/perl -T # Taint Modus: Warnt, wenn man ungeprüfte Werte benutzt. use strict; use warnings; use Fcntl qw(:DEFAULT :flock); use CGI::Carp qw/fatalsToBrowser/; # Fürs Entwickeln, damit Fehler im Browser erscheinen. - Später auskommentieren. use CGI; $CGI::DISABLE_UPLOADS = 1; # kein Upload $CGI::POST_MAX=1024*50; # max angenommene Datenmenge hier 50K my $cgi = $CGI->new(); # Objekt erstellen $cgi->cgi_error() and die $Cgi->cgi_error(); # Cgi Fehler # Abfragen, ob Login Parameter vorliegen. # Gehe davon aus, dass die HTML Formularfelder 'name' und 'passwort' genannt wurden. my $login = 0; # 1 = Benutzer hat sich angemeldet if ( defined $cgi->param('name') && defined $cgi->param('passwort') ){ sysopen (DAT,'PfadZurDatei',O_RDONLY) or die; flock (DAT, LOCK_SH) or die; while () { chomp; # Newsline entfernen (my $name, my $pass) = split ','; if ( $name eq $cgi->param('name') && $pass eq $cgi->param('passwort') ){ $login = 1; last; #while Schleife verlassen. } } close DAT; if ($login) { ... mach was } } ...Gib das Login Formular aus ...