fejlen er den at den kan godt logge ind med den anden bruger men ikke den første, det vil sige at den kan ikke tjekke første linje i filen tror jeg nok og i anden kan den godt. Her får i lige hele scriptet som det ser ud ind til videre:
<?php ob_start(); // Gør så der ikke sker den typiske session fejl: headers already sent by........... session_start(); // Siger at vi skal bruge sesioner $session = $_SESSION['li']; // Lægger sesionen over i variablen $session $sesbrugernavn = $_SESSION['brugernavn']; // Lægger sessionen brugernavn over i variablen brugernavn
echo '<center>'; // Laver et simpelt html tag
/* STARTSIDE */ if($session){echo 'Du er logget ind som: '.$sesbrugernavn.'';}elseif(!$_GET['login'] && !$session) { print ' <h1>Login</h1> <form action="?login=ja" method="POST">
Dit script, som det er nu, vil ikke virke med flere bruger fordi når du henter en linje fra din brugere.txt vil du i enden af linjen få en nylinje karakter med hvis der er flere linjer efter den linje du henter. Du kan prøve at rette din script, således at du fjerner disse karaktere fra linjen.
Nu ved jeg godt at et loginsystem med sessions og MySQL ikke er det sikreste, men et system hvor brugere og kodeord ligger i en offentligt tilgængelig fil er bestemt ikke mere sikkert!
Jeg kan f.eks. se følgende fra din "bruger.txt"-fil: prut|546b106fd63f9cd94551be5d8c15e234|ja Ifølge et "rainbow table" over md5 hashkoder er kodeordet "prut"... Så nemt kunne jeg få den information frem.
Men det er selvfølgelig fair nok hvis du vil (eller er tvunget til at) lave det udenom en database :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.