Avatar billede nerdyguy Nybegynder
16. februar 2000 - 21:32 Der 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 ??
Avatar billede erikjacobsen Ekspert
16. februar 2000 - 21:40 #1
Meget kort: du skal selv arbejde med Cookies (som sker automatisk med sessions
i ASP).
Avatar billede phylox2 Nybegynder
17. februar 2000 - 02:32 #2
naah .. ikke hent rigtigt

:)

http://www.razor.f2s.com/brugersystem/

Der kan du selv sætte det hele sammen  ;)))
Avatar billede colde Nybegynder
17. februar 2000 - 11:03 #3
Sessions er i PHP først med fra version 4(Zend).
M.V.H.
Colde
Avatar billede nerdyguy Nybegynder
17. februar 2000 - 12:27 #4
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 ...!

Er der nogen der ved hvorfor jeg får den fejl?
Avatar billede erikjacobsen Ekspert
17. februar 2000 - 13:11 #5
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.
Avatar billede razor Nybegynder
18. februar 2000 - 15:45 #6
det jeg ville gøre var at bruge apache's WWW_Authenticate funktion, og ligge den ind i en password.php3..

derefter ville jeg lave en include("password.php3"); i de sider jeg vil passwordbeskytte...

jeg kommer med et eksempel i aften.. :-) (lige nu er jeg på arbejde)
Avatar billede razor Nybegynder
18. februar 2000 - 15:45 #7
har du adgang til mysql ?
Avatar billede razor Nybegynder
18. februar 2000 - 18:17 #8
password.php3 til mysql:

<?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&aring;ske er det fordi du ikke er <a href="tilmeld.php3">tilmeldt</a></font><br><br>
<?php
include("footer.php3");
exit;
}
?>
Avatar billede razor Nybegynder
18. februar 2000 - 18:19 #9
password.php3 til en csv fil (bruger:pass):

<?php
$fp = fopen("users.txt","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;
}
?>
Avatar billede razor Nybegynder
18. februar 2000 - 18:20 #10
så indsætter du bare
<?php
include("password.php3");
?>
FØRST i de dokumenter der skal beskyttes
Avatar billede nerdyguy Nybegynder
23. februar 2000 - 11:08 #11
Undskyld ... Jeg havde helt glemt dette spørgsmål !!

razor>>  Ja! Jeg har adgag til MySql
Er det da nemmere ???
Avatar billede nerdyguy Nybegynder
11. juni 2000 - 12:21 #12
Jeg har selv fundet en løsning på dette!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester