linux-l: Script-Problem

Manuel Tennert webmaster at german-sound.de
Do Nov 2 17:52:46 CET 2000


Hi !!

Ich mal wieder....hab ein kleines Problem mit meinem Passwort Script: Sobald
ich bei der Ausführung des Scripts die erste User-Name und
Passwort-Kombination eingebe ist alles korrekt. Will ich die 2. Kombination
eingeben kommt die Fehlermeldung Benutzername und Passwort sind falsch,
obwohl richtig eingegeben !!! Weiß jemand Rat ?? Oder hat jemand ein anderes
CGI-Script parat bei welchem man die Passwortabfrage kombiniert mit einem
Benutzernamen ??

Hier mein Script:

#!/usr/bin/perl
############# ANFANG     SCRIPT    KONFIGURATION ##############

$passwd = "password";
$password = "grand";
# Das Passwort mit dem der Benutzer Zugriff erhält

$login = "test";
$loginord = "mtennert";
# Name des Benutzes

$safe = "blabla";
# URL der geschützen Seite

$cgiurl = "blabla";
# URL der Scriptdatei

$titel = "Sicherheitscheck Umex Geschenkartikel";
# Titel der geschützten Seite

############## ENDE     SCRIPT    KONFIGURATION ################
############################################################
if ($ENV{REQUEST_METHOD} eq "GET")
{
&get_login;
}
else
{
&form_lesen;
}
$password = $input{'password'};
$username = $input{'username'};

if ($username eq $login)
{if ($password eq $passwd)
{ print "Location: $safe\n\n";
}
else
{
&error;
}}
else
{
&error
}


if ($username eq $loginord)
{if ($password eq $password)
{ print "Location: $safe\n\n";
}
else
{
&error;
}}
else
{
&error
}

sub form_lesen {

   read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
   if (length($buffer) < 5) {
         $buffer = $ENV{QUERY_STRING};
    }
   @pairs = split(/&/, $buffer);
   foreach $pair (@pairs) {
      ($name, $value) = split(/=/, $pair);

      $value =~ tr/+/ /;
      $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

      $input{$name} = $value;
   }
}

sub get_login
{

############ HTML Seite Benutzerabfrage schreiben
print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>$titel</TITLE></HEAD>
<BODY TEXT=\'#000000\' BGCOLOR=\'#999999\' LINK=\'#0000EE\'
VLINK=\'#551A8B\' ALINK=\'#FF0000\'>
<CENTER>
<H1>
<FONT FACE=\'Arial,Helvetica\'>Sicherheitscheck
Umex-Geschenkartikel</FONT></H1></CENTER>
<CENTER>
<HR SIZE=1 WIDTH=\'66%\'></CENTER>
<CENTER><FONT FACE=\'Arial,Helvetica\'>Bitte geben Sie Ihren Benutzernamen
und das Passwort ein.</FONT></CENTER>
<br>
<CENTER><TABLE BORDER=3 CELLSPACING=0 CELLPADDING=5 WIDTH=\'300\'
BGCOLOR=\'#CCCCCC\' >
<TR>
<TH COLSPAN=\'2\' BGCOLOR=\'#999999\'><FONT FACE=\'Arial,Helvetica\'><FONT
SIZE=+2>Haendlercheck</FONT></FONT></TH>
</TR>
<TR>
<TD COLSPAN=\'2\'>
<CENTER><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 COLS=2 WIDTH=\'99\' >
<TR>
<TD><FONT FACE=\'Arial,Helvetica\'><br></FONT><FORM
ACTION=\'http://www.cgi-service.de/cgi-cgi-service/2000/07/08007/sitesafe.cg
i\' METHOD=POST></TD>
<TD></TD>
</TR>
<TR>
<TD><FONT FACE=\'Arial,Helvetica\'>Benutzername:</FONT></TD>
<TD><INPUT TYPE=text NAME=\'username\' SIZE=20></TD>
</TR>
<TR>
<TD><FONT FACE=\'Arial,Helvetica\'>Passwort:</FONT></TD>
<TD><INPUT TYPE=password  NAME=\'password\' SIZE=20></TD>
</TR>
<TR>
<TD><br></TD>
<TD></TD>
</TR>
<TR>
<TD COLSPAN=\'2\'>
<CENTER><INPUT TYPE=submit VALUE=\'        OK         \'></FORM></CENTER>
</TD>
</TR>
</TABLE></CENTER>
<br></TD>
</TR>
<TR>
<TD COLSPAN=\'2\' BGCOLOR=\'#999999\'>
<DIV ALIGN=right><br></DIV>
</TD>
</TR>
</TABLE></CENTER>
<CENTER><FONT FACE=\'Arial,Helvetica\'>Dieses Script wurde entworfen vom
Webmaster Manuel Tennert für Umex-Geschenkartikel</a></CENTER>
</BODY></HTML>\n";
exit;
}
########## HTML Seite Benutzerabfrage geschrieben

sub error
{

########## HTML Seite Falscher Benutzer oder Kennwort schreiben
print "Content-type: text/html\n\n";
print "<HTML><HEAD> <TITLE>$titel</TITLE></HEAD>
<BODY TEXT=\'#000000\' BGCOLOR=\'#999999\' LINK=\'#0000EE\'
VLINK=\'#551A8B\' ALINK=\'#FF0000\'>
<CENTER>
<H1>
<FONT FACE=\'Arial,Helvetica\'>Sicherheitcheck Umex
Geschenkartikel</FONT></H1></CENTER>
<CENTER>
<HR SIZE=1 WIDTH=\'66%\'></CENTER>
<CENTER><FONT FACE=\'Arial,Helvetica\'><FONT COLOR=\'#000000\'><FONT
SIZE=+1>Sie
haben ein falsches Passwort oder Benutzernamen
eingetragen!</FONT></FONT></FONT></CENTER>
<br>
<CENTER><TABLE BORDER=3 CELLSPACING=0 CELLPADDING=5 WIDTH=\'300\'
BGCOLOR=\'#CCCCCC\' >
<TR>
<TH COLSPAN=\'2\' BGCOLOR=\'#999999\'><FONT FACE=\'Arial,Helvetica\'><FONT
SIZE=+2>Haendlercheck</FONT></FONT></TH>
</TR>
<TR>
<TD COLSPAN=\'2\'>
<CENTER><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 COLS=2 WIDTH=\'99\' >
<TR>
<TD><FONT FACE=\'Arial,Helvetica\'><br></FONT><FORM ACTION=\'$cgiurl\'
METHOD=POST></TD>
<TD></TD>
</TR>
<TR>
<TD><FONT FACE=\'Arial,Helvetica\'>Benutzername:</FONT></TD>
<TD><INPUT TYPE=text NAME=\'username\' SIZE=20></TD>
</TR>
<TR>
<TD><FONT FACE=\'Arial,Helvetica\'>Passwort:</FONT></TD>
<TD><INPUT TYPE=password  NAME=\'password\' SIZE=20></TD>
</TR>
<TR>
<TD><br></TD>
<TD></TD>
</TR>
<TR>
<TD COLSPAN=\'2\'>
<CENTER><INPUT TYPE=submit VALUE=\'        OK         \'></FORM></CENTER>
</TD>
</TR>
</TABLE></CENTER>
<br></TD>
</TR>
<TR>
<TD COLSPAN=\'2\' BGCOLOR=\'#999999\'>
<DIV ALIGN=right><br></DIV>
</TD>
</TR>
</TABLE></CENTER>
<CENTER><FONT FACE=\'Arial,Helvetica\'>Dieses Script wurde vom Webmaster
Manuel Tennert für Umex Geschenkartikel geschrieben.</a></CENTER>
</BODY></HTML>\n";
########## HTML Seite Falscher Benutzer oder Kennwort geschrieben
exit;
}



Mehr Informationen über die Mailingliste linux-l