19. oktober 2004 - 13:12Der er
18 kommentarer og 1 løsning
brugerscript på lojmann.dk
Hej jeg har hentet brugersystemet med coockies på lojmann .dk..
memn når man skal oprette en ny bruger skriver den at man skal udfylde alle 3 felter selvom de er udfyldt.. hvad er der galt??
ny.php:
Her kan du oprette din personlige profil. Det er 100% GRATIS at have en profil på siden. Du kan læse mere om personlige profiler <a href="index.php">her</a>.<br> Hvis du allerede har bestemt dig for at oprette en profil, skal du blot udfylde den nedenstående formular, og trykke send, så er din profil oprettet på få sekunder.<br> Held og lykke, med din profil.<p>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Det vrikede ikke askhoej.. men når gør som SOSTACK siger... når man så opretter sig så kommer der bare en tom side... og når man så logger ind med det brugernavn og pass som man har valgt siger den ugyldigt login.. MEN når man så prøver at oprette sig igen siger den at brugernavnet findes allerede.. mmm3.dk/bs/login.php...
Det script du har hentet er nok en kodet til en gammel version af php, og derfor virker det selvfølgelig ikke hvis der fx er installeret php4 eller lign. på din server...
Hvis du allerede har en profil her på ???.dk, skal du blodt skrive dit brugernavn og password og trykke på <b>Login</b>.<br> Hvis du stadig ikke har oprettet dig som bruger, kan du gøre det <a href="ny.php">her</a>.<br> Glemt dit password eller brugernavn? Tryk <a href="glemt.php">her</a>.<p>
<? addslashes($username); addslashes($passcode); $new_password = md5($passcode); require("db_ind.inc"); $passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username'"); if (!mysql_num_rows($passquery)) { echo "Ugyldigt brugernavn!<p>"; exit(); } else { if($row = mysql_fetch_array($passquery)) { $dbpassword = $row["password"]; $profilid = $row["id"]; } if($dbpassword == $new_password) { $login = (true); } if ($dbpassword != $new_password) { echo "Forkert brugernavn eller password!!!<br>"; echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>"; exit(); } setcookie("coo_username","$username",time()+3600); setcookie("coo_password","$new_password",time()+3600); setcookie("coo_profilid","$profilid",time()+3600); $today = date("d-m-Y"); require("db_ind.inc"); mysql_query("UPDATE profiler set lastlogin = '$today' WHERE username = '$coo_username'"); header("Location: muligheder.php"); } ?>
CREATE TABLE profiler ( username varchar(12) NOT NULL, password varchar(50) NOT NULL, fornavn varchar(50) NOT NULL, efternavn varchar(50) NOT NULL, adresse varchar(50) NOT NULL, postnr varchar(4) NOT NULL, bynavn varchar(50) NOT NULL, tlf int(8) DEFAULT '0' NOT NULL, mobil int(8) DEFAULT '0' NOT NULL, lastlogin varchar(10) NOT NULL, email varchar(80) NOT NULL, id int(11) DEFAULT '0' NOT NULL, UNIQUE username (username), UNIQUE email (email) );
Grunden til at siden er blank, når du opretter en bruger er, at du ikke genererer noget output efter $add_profil = mysql_query("INSERT INTO profiler (username, password, email)" . "VALUES ('$username', '$new_password', '$email')");. Her kunne du skrive echo $username . " er nu oprettet som bruger"; Så ville der jo komme et output herfra.
Hvilken fejl kommer der på linie 6 ved forsøg på login??
Jo, da du har gemt det krypteret med md5 i databasen, skal du også md5 passwordet fra formen, inden du sammenligner med det fra databasen. Men det gør du jo også.
fejlen i linie 6 kan være if (!mysql_num_rows($passquery)) der evt. skal ændres til if(0 == mysql_num_rows($passquery))
Sostack kender du ikke et nemt et... man behøver ikke selv at kunne oprette sig som bruger der skal nemlig kun være 14... det skal være sikkert.. der behøver heller ikke at være oplysninger om brugeren eller noget bare kun så man kan logge ind´.. der er mange dokumenter der skal beskyttes... det er kun den første side med frames man må kunne se.. dvs 4 sider
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.