|
|
Problemer med Passwordbeskyttelse
|
Simon
|
|
Jeg skal have passwordbeskyttet nogle sider og har forsøgt forskellige metoder, men uden held.
Jeg har f.eks. prøvet med cookies (har ingen erfaring med dette), men det lykkedes ikke (har kun prøvet på min lokale apache-server).
Desuden har jeg forsøgt med forskellige scripts.
Her er problemet:
for at komme ind på nedenstående sider skal man indtaste sit brugernavn og password.
admin1.php3
admin2.php3
admin3.php3
admin3.php3
Når man har logget sig ind på en af siderne er der links til de andre sider, men hvad gør jeg for at brugeren kan komme videre ind på de andre sider uden at skulle indtaste brugernavn og password igen.
På nuværende tidspunkt har jeg løst det ved at linkene indeholder brugernavn og password (f.eks. admin2.php3?action=login&brugernavn=$brugernavn&password=$password).
Som I kan se er det en meget usikker løsning bl.a. fordi brugernavn og password bliver gemt i browserens adresselinje.
Jeg håber I kan hjælpe mig med mit problem.
På forhånd tak!
|
|
|
Dato : 17.08.2001, 20:08 |
Visninger : 1364 |
Points : 0 |
|
|
Dato : 18.08.2001, 00:37 |
skrevet af : tbn |
|
|
Du opretter en cookie ved at bruge metoden
setcookie(bruger["brugernavn"],"brugernavnet der skal bruges");
setcookie(bruger["codeord"],"codeordret der skal bruges");
Her efter vi følgende variabler være tilgængelige på siden
$bruger["brugernavn"];
$bruger["codeord"];
Som indeholder de ønskede værdier.
|
|
|
Dato : 27.08.2001, 10:29 |
skrevet af : Sune Simonsen |
|
|
Jeg prøvede lige at hurtigt at skrive det hér script! jeg vil ikke garantere 100% for det, men jeg håber det kan give dig lidt inspiration til hvordan det kan laves...
<? //------Hvis første login, krypteres passwordet---------- if ($set_cookie == 1){ $pass = md5($pass); //kryptere koden fra inputtet }
$bruger_navn = "Henning"; //bruger navnet $password = "md5(123)"; //krypteret udgave af koden er 123
//--------Hvis navn og kode er rigtige sættes der en cookie---------- if ($set_cookie == 1 && $name == $bruger_navn && $pass == $password){ setcookie("name", "$name", time()+2419200); //navne cookie setcookie("pass", "$pass", time()+2419200); //krypteret password cookie }
//------------- Headers der beskytter indholdet på siden---------- header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache");
//------Tester om brugernavn og password er tilstede-------- if ($name != null && $pass != null){
//---------------Tester navn og kode----------------- if ($name == $bruger_navn && $pass == $password){ echo "Du er logget ind <FORM METHOD='POST' ACTION='admin2.php3'> <INPUT TYPE='submit' VALUE='Næste side'> <INPUT TYPE='hidden' NAME='name' VALUE='$name'> <INPUT TYPE='hidden' NAME='pass' VALUE='$pass'> </FORM>"; }
//-------------- Hvis navnet eller koden er forkert--------- else if ($name != $bruger_navn || $pass != $password){ $fejl = 1; echo "Fejl!"; } }
//----------------Login prompt eller hvis koden er forkert-------------- if ($name == null && $pass == null || $fejl == 1){ <FORM METHOD='POST' ACTION='$PHP_SELF'> Navn: <INPUT TYPE='text' NAME='name'> <BR> Kode: <INPUT TYPE='password' NAME='pass'> <BR> <INPUT TYPE='submit' VALUE='Login'> <INPUT TYPE='hidden' NAME='set_cookie' VALUE='1'> </FORM> }
|
|
|
Dato : 16.03.2003, 10:52 |
skrevet af : micma18 |
|
|
Jeg prøvede lige at hurtigt at skrive det hér script! jeg vil ikke garantere 100% for det, men jeg håber det kan give dig lidt inspiration til hvordan det kan laves...
<? //------Hvis første login, krypteres passwordet---------- if ($set_cookie == 1){ $pass = md5($pass); //kryptere koden fra inputtet }
$bruger_navn = "Henning"; //bruger navnet $password = "md5(123)"; //krypteret udgave af koden er 123
//--------Hvis navn og kode er rigtige sættes der en cookie---------- if ($set_cookie == 1 && $name == $bruger_navn && $pass == $password){ setcookie("name", "$name", time()+2419200); //navne cookie setcookie("pass", "$pass", time()+2419200); //krypteret password cookie }
//------------- Headers der beskytter indholdet på siden---------- header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache");
//------Tester om brugernavn og password er tilstede-------- if ($name != null && $pass != null){
//---------------Tester navn og kode----------------- if ($name == $bruger_navn && $pass == $password){ echo "Du er logget ind <FORM METHOD='POST' ACTION='admin2.php3'> <INPUT TYPE='submit' VALUE='Næste side'> <INPUT TYPE='hidden' NAME='name' VALUE='$name'> <INPUT TYPE='hidden' NAME='pass' VALUE='$pass'> </FORM>"; }
//-------------- Hvis navnet eller koden er forkert--------- else if ($name != $bruger_navn || $pass != $password){ $fejl = 1; echo "Fejl!"; } }
//----------------Login prompt eller hvis koden er forkert-------------- if ($name == null && $pass == null || $fejl == 1){ <FORM METHOD='POST' ACTION='$PHP_SELF'> Navn: <INPUT TYPE='text' NAME='name'> <BR> Kode: <INPUT TYPE='password' NAME='pass'> <BR> <INPUT TYPE='submit' VALUE='Login'> <INPUT TYPE='hidden' NAME='set_cookie' VALUE='1'> </FORM> }
|
|
|
Dato : 16.03.2003, 10:52 |
skrevet af : micma18 |
|
|
ok! der mangler lige en echo i den nederste if !!!..... ;-)
|
|
|
Dato : 16.03.2003, 10:56 |
skrevet af : micma18 |
|
Login for at skrive et indlæg :
|