Toon posts:

[php] Veilig inloggen met sessies

Pagina: 1
Acties:

Verwijderd

Topicstarter
Mijn systeem was tot nu toe:

- username + pass vragen
- controleren met database
- als het klopt dan in sessie opslaan en de vervolgpagina includen

Dus als er een nieuwe pagina geladen word dan moet dus elke keer weer de database opgeroepen worden. Nu wil ik alleen bij de eerste pagina de database checken dus dacht ik aan het volgende systeem

- checken of $login een waarde heeft
- zo ja, vervolgpagina includen
- zo niet username + pass vragen
- controleren met database
- als het klopt dan $login de waarde 1 geven.

Nu is dit heel makkelijk te omzeilen door "script.php?login=1" te doen...

Hoe kan ik dit veiliger maken ??

  • buum
  • Registratie: Juni 2001
  • Laatst online: 12-08 15:17

buum

Wie? Ik?

Je kunt gebruik gaan maken van de HTPASSWD variabelen. Probleem is dan dat je niet meer met een database gaat werken, maar met de .htpasswd.

Ik heb gisteren geprobeerd appels met peren te vergelijken... EN DAT GING HEEL GOED!!!


  • Millennium
  • Registratie: Augustus 2000
  • Laatst online: 25-08 14:17

Millennium

Bug free !!!

$HTTP_SESSION_VARS["Login"] ipv $Login

Rampen bak 2004


Verwijderd

Topicstarter
Op zaterdag 08 juni 2002 17:12 schreef Millennium het volgende:
$HTTP_SESSION_VARS["Login"] ipv $Login
$_SESSION ook wel genoemd.. Ik snap dat niet helemaal..
Ik zal de reference er nog es op naslaan..

edit:
kan iemand me uitleggen wat $HTTP_SESSION_VARS of $_SESSION nou eigenlijk doet ?
:?

  • Millennium
  • Registratie: Augustus 2000
  • Laatst online: 25-08 14:17

Millennium

Bug free !!!

Op zaterdag 08 juni 2002 17:15 schreef Guanoape het volgende:

[..]

$_SESSION ook wel genoemd.. Ik snap dat niet helemaal..
Ik zal de reference er nog es op naslaan..

edit:
kan iemand me uitleggen wat $HTTP_SESSION_VARS of $_SESSION nou eigenlijk doet ?
:?
$HTTP_SESSION_VARS["Login"] haal je de variabele op uit je sessie, dus als je gebruikmaakt van $HTTP_SESSION_VARS kan je niet ?Login=1 gebruiken, omdat in dat geval $Login gedefineert wordt en niet de sessie variable. je kan dus $HTTP_SESSION_VAR gebruiken in je script op de plaatsen waar je nu $login gebruikt.

$_SESSION, heb ik nog nooit gebruik :P

Rampen bak 2004


Verwijderd

Topicstarter
Op zaterdag 08 juni 2002 17:32 schreef Millennium het volgende:

[..]

$HTTP_SESSION_VARS["Login"] haal je de variabele op uit je sessie, dus als je gebruikmaakt van $HTTP_SESSION_VARS kan je niet ?Login=1 gebruiken, omdat in dat geval $Login gedefineert wordt en niet de sessie variable. je kan dus $HTTP_SESSION_VAR gebruiken in je script op de plaatsen waar je nu $login gebruikt.

$_SESSION, heb ik nog nooit gebruik :P
Aha, dus $login word in een sessie opgeslagen, en voor dat die in de sessie opgeslagen word moet moet er een username en pass combo worden opgegeven.

- checken of $login met waarde 1 in een sessie is opgeslagen
- zo ja, vervolgpagina includen
- zo niet username + pass vragen
- controleren met database
- als het klopt dan $login met de waarde 1 in een sessie opslaan

Verwijderd

if (!session_is_registered("sLogin")) $sLogin = false;
session_register("sLogin");

$sLogin = userOK($user,$pass);

toch veilig, en kan je toch ook gwoon je normale naam voor je var gebruike ipv via je $HTPP_SESSION_VARS

  • Millennium
  • Registratie: Augustus 2000
  • Laatst online: 25-08 14:17

Millennium

Bug free !!!

mijn huidige login:

een stuk script dat op elke "beveilige" pagina geincluded wordt.

Script: check op gebruikersID bestaat als sessie, zo niet popup login en exit("U bent niet ingelogd")

Waarom ik gebruikers ID opsla, kan gebruikers ID opvragen op elke pagina uit de sessie en kan ik conrtoleren aan de hand van de DATABASE welke rechten een user heeft :)
PHP:
1
<?if (@!$HTTP_SESSION_VARS["GebruikersID"]){echo "U bent niet ingelogd";exit("<script>login_window('loginGB.php?ID=ID&amp;option=$option')</script>");?>

Rampen bak 2004

Pagina: 1