Jag är väl inte någon expert på detta men exit; skall väl stå sist....
och måste du inte ha elsif eller något också...
if ($status eq "OK"){
print "HEJ ";
exit;
}
print "NÄ DU ";
Perl & Rubyur Perl, Python, Ruby och övrig CGI
3 svar · 439 visningar · startad av nordan
Hej jag har ett lösenords script här som såklart inte funkar!
Och jag kan inte hitta på vad det är som är fel?
Jag menar det är ett säkert script eftersom man inte kan logga in fast men har
rätt lösenord *skrattar*
Felet är att den inte går till
if ($status eq "OK"){
print "HEJ ";
}
När jag har skrivigt in rätt lösenord!
Min lösenords fil ser ut så här
anvnamn&&lösen
Någon som kan tipsa om vad jag har gjort för fel?
print "Content-type: text/html\\n\\n";
read (STDIN, $forminfo, $ENV{'CONTENT_LENGTH'});
$forminfo =\~ tr/+/ /;
$forminfo =\~ s/%(..)/pack("c",hex($1))/ge;
@par = split(/&/,$forminfo);
foreach $a (@par){ ($ruta, $text) = split(/=/,$a);
$INFO{$ruta} = $text;
}
$anvnamn = $INFO{'namn'};
$anvpass = $INFO{'password'};
open (FIL, "password.txt" );
@listan = \<FIL\>;
close(FIL);
foreach $line (@listan)
{
($loggname, $loggpass) = split(/&&/, $line);
$status="OK" if($loggname eq "$anvnamn" && $loggpass eq "$anvpass")
}
if ($status eq "OK"){
print "HEJ ";
exit;
}
print "NÄ DU ";
Jag är väl inte någon expert på detta men exit; skall väl stå sist....
och måste du inte ha elsif eller något också...
if ($status eq "OK"){
print "HEJ ";
exit;
}
print "NÄ DU ";
Använder du POST i formuläret?
Hej!
Prova detta lilla kodexempel.
Gör ett formulär med ett lösenordsfält, som i detta exempel skall ha namnet 'password'.
Filen där lösenordet ligger skall heta password.txt.
Form action skall vara satt till GET.
Detta kodexempel borde fungera.
//Demo
$forminfo=$ENV{'QUERY_STRING'};
$forminfo=~tr/+/ /;
$forminfo=~s/%(..)/pack("c",hex($1))/ge;
@par=split(/&/,$forminfo);
foreach $a (@par){
($ruta, $text)=split(/=/,$a);
$INFO{$ruta}=$text;
}
open(FILE,"password.txt");
$losen=<FILE>;
close FILE;
# Kollar om lösenordet är rätt?
if($losen eq $INFO{'password'}){
print "Lösenordet är rätt";
exit;
}
------------------
\| | | |/
|O O|
--ooO-----()------Ooo--
Ha dé bra, önskar Demo!
[Redigerat av demo den 14 jun 2000]