Jobber med en hjemmeside nå som bruker php (og som ikke er ferdig), og på denne hjemmesiden tenkte jeg at jeg skulle bruke $_SESSION['user_id'] som login-sjekk. Denne settes når man logger inn, og user_id er da bruker-id'n (logisk nok).
Deretter følgende for å sjekke om en bruker er logget inn:
Om da noen lager et script som vil gi $_SESSION['user_id'] en verdi på deres side, og de ikke lukker browser'n, og går inn på siden min, vil da login-sjekken feile?
Med feile mener jeg, vil siden tro at gjesten er logget inn siden $_SESSION['user_id'] har en verdi selvom den ble satt et annet sted? Logisk nok, vil jeg tro det funker slik, og om noen da har forslag for å unngå dette som ikke tar så altfor stor serverload med mange brukere.
En tanke jeg har, som burde være sikker nok, er følgende:
eller:
Men om det virkelig er nødvendig å gjøre det slik, og måtte slenge inn øverst i hvert eneste dokument på siden? Tenkte jeg skulle belaste databasen minst mulig.
På forhånd takk for svar!
Deretter følgende for å sjekke om en bruker er logget inn:
Kode
if (isset($_SESSION['user_id'])) { /* ... */ }
Med feile mener jeg, vil siden tro at gjesten er logget inn siden $_SESSION['user_id'] har en verdi selvom den ble satt et annet sted? Logisk nok, vil jeg tro det funker slik, og om noen da har forslag for å unngå dette som ikke tar så altfor stor serverload med mange brukere.
En tanke jeg har, som burde være sikker nok, er følgende:
Kode
$login_check = mysql_query("SELECT user_id FROM users WHERE user_id = ".$_SESSION['user_id']." AND password = '".$_SESSION['password'])."'"); if (mysql_num_rows($login_check) == 1) { /* ... */ }
Kode
$login_check = mysql_query("SELECT user_id FROM users WHERE user_id = ".$_SESSION['user_id']." AND sId = '".session_id()."'"); if (mysql_num_rows($login_check) == 1) { /* ... */ }
På forhånd takk for svar!