16. februar 2000 - 21:32Der er
11 kommentarer og 1 løsning
Passwordbeskyttelse
Det lyder nok nemt nok!! Men det har drillet mig lige siden jeg hørte ordet første gang! Jeg har set masser af eksempler på det i ASP .. der tilfældigvis virkede! Men dem jeg har set i PHP virkede ikke! De eksempler jeg har set i ASP er lavet med en slags sessions (jeg går ud fra at man kan sige at den skal være True og så har man adgang til alle de sider der skulle være beskyttelse og hvis den er False så kommer den med en fejlside) Det er sådan de er bygget op i ASP .. Men hvordan kan jeg lave sådan en funktion i PHP ??
Jeg har det der brugersystem .... også et der hedder: Usersystem .. Men jeg får en fejl: 500 Internal Server Error ...
Det er med den her: <?php $fp = fopen("users.inf","r"); while ($input = fgetcsv($fp,4096,"|")) { $users[] = $input[0]; $passwords[] = $input[1]; } fclose($fp); for ($i = 0; $i < sizeof($users); $i++) { if ($PHP_AUTH_USER == $users[$i] && $PHP_AUTH_PW == $passwords[$i]) { $ok = (true); } } if (!$ok) { Header("WWW-Authenticate: Basic realm=\"Password Required\""); Header("HTTP/1.1 401 Unauthorized"); echo "<h1>Restricted area!</h1>\n"; exit; } ?>
Kan man ikke gøre sådan at man har et bestemt password (der ikke bliver hentet fra en fil) Altså et fast kodeord og en fast bruger?? - Det er jo smartere ...!
Ok, korrekt, phylox2, det du anviser er netop at bruge den indbyggede authorisation i HTTP-protokollen. Og en tredie mulighed er at have password eller ID med som ?-parameter på URL-en eller i et hidden felt i alle forme.
<?php mysql_connect("dinserver.dk","bruger","password"); mysql_select_db("din_db"); $res = mysql_query("SELECT * FROM brugere WHERE brugernavn='$PHP_AUTH_USER' AND pass='$PHP_AUTH_PW'"); if (!mysql_Num_Rows($res)) { Header("WWW-Authenticate: Basic realm=\"Indtast dine oplysninger\""); Header("HTTP/1.1 401 Unauthorized"); include("header.php3"); ?> <font face="verdana" size="+1"><b>Adgang forbudt!</b></font><br><br> <font face="verdana" size="2">Måske er det fordi du ikke er <a href="tilmeld.php3">tilmeldt</a></font><br><br> <?php include("footer.php3"); exit; } ?>
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.