|
Thread Benutzername u. Passwortabfrage mit Perl/CGI
(9 answers)
Opened by maxtorman at 2010-02-14 00:08
Hallo maxtorman
Wie Bianca schon schrieb, wäre es interessant was du zur Umsetzung bereits selbst geplant hast. Eine Login-Auswertung selbst ist eigentlich recht schnell erstellt. Am einfachsten dürfte wohl die Verwendung des Moduls CGI für deine Aufgabe sein.Hilfen zum Thema findest du auch hier CgiSicherheitEin ganz grober Vorschlag für eine Lösung. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #!/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 (<DAT>) { 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 ... Für das Login Formular gibt es mehrere Möglichkeiten: - arbeit mit HTML Templates. - direkt mit dem Modul CGI eine HTML Seite erstellen und ausgeben - mittels here Dokument den Seitencode ausgeben. - Redirect auf eine bestehende HTML Seite. Spannender sind aber die Fragen, wie es dann weiter gehen soll. - Wie hält man den Benutzer nun als Angemeldet (cookie, URL-Erweiterung etc.) - Wie kontrolliere ich bei weiteren Seiten, ob der Benutzer angemeldet ist. Dafür gibt es viele Möglichkeiten aber ich weiss nicht, was du genau planst. Edit: verklickt noch mal Last edited: 2010-02-14 11:00:35 +0100 (CET) |