webForumDet fria alternativet

Någon som vet?

3 svar · 439 visningar · startad av nordan

nordanMedlem sedan juni 2000949 inlägg
#1

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 ";
BamseMedlem sedan maj 20009 inlägg
#2

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 ";

emissionMedlem sedan dec. 19996 721 inlägg
#3

Använder du POST i formuläret?

demo
#4

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]

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)