Werken met sessie variabelen voor security

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maarten

Maarten

18/06/2006 10:11:00
Quote Anchor link
Hey,

Ik wens een deel van mijn site af te schermen voor administrators. Deze hebben hun login en paswoord die in een gebruikers tabel zit. Ik ga als volgt te werk.
- In elke pagina (ook die zonder output) zet ik een include naar checklogin.php. Hier wordt nagegaan of er reeds ingelogd is zoniet, of men van de login pagina komt en dan logt men in door de login en pwd te checken met de database.

Hierbij de code. Ik vrees nu dat er echter iets met de sessie variabelen is, want hij 'onthoudt' deze blijkbaar niet. Op een volgende pagina vraagt hij opnieuw om in te loggen.

Mijn vraag: Weten jullie waar het probleem zit, en hebben jullie nog tips waar dit onveilig is?

[linebreak]Code (php) 123456789101112131415161718192021222324252627282930313233343536373839 <?phpsession_register(userid);session_register(username);// deze regel verwijderen na testing security// $username = ;// einde verwijderen//print "$pasw / $login";if ($pasw != || $login != ){    // Check hier aanwezigheid in Database    $dbh=mysql_connect ("localhost", "ictalumn", "welcome") or die (I cannot connect to the database because: . mysql_error());    mysql_select_db ("ictalumn_alumni");       $query = ("SELECT id,Vnaam,Anaam,Login,Pwd,Email FROM gebruiker WHERE Login = $login AND Pwd = $pasw");$result = mysql_query("$query")   or die("Ongeldige query: " . mysql_error());//print $query;        while (list($id, $VNaam, $ANaam, $Login, $Pwd, $Email) = mysql_fetch_row($result))    {        //print ("$id, $VNaam, $ANaam, $Login, $Pwd, $Email");        $userid=$id;        $username= "$VNaam $ANaam";    }    mysql_close($dbh);}    if (($userid < 1) || ($userid == )){  header ("Location: http://www.ictalumni.be/crm/login.php"); }?> [linebreak]
Gewijzigd op 01/01/1970 01:00:00 door Maarten
 
PHP hulp

PHP hulp

17/11/2024 05:46:31
 
Eris -

Eris -

18/06/2006 10:12:00
Quote Anchor link
Altijd beginnen met session_start();

Daarnaast is session_register hopeloos verouderd
Gewijzigd op 01/01/1970 01:00:00 door Eris -
 
Robert Deiman

Robert Deiman

18/06/2006 10:22:00
Quote Anchor link
if ($pasw != '' || $login != '')

Waarom ook deze regel? Hierna ga je controleren of die voorkomt, ik zou het met && doen, omdat password en loginnaam NOOIT leeg zouden mogen zijn.
 
Maarten

Maarten

18/06/2006 10:55:00
Quote Anchor link
OK het was de session_start(); die inderdaad vergeten was. De session_registers had ik er al uitgedaan... Inderdaad veel verouderd...

Is dit de veilige weg om een gedeelte af te schermen? Bestaan er tutorials hier over hoe je een gedeelte afschermt voor beheerders (security en securityleaks?)
 
Robert Deiman

Robert Deiman

18/06/2006 10:58:00
Quote Anchor link
Ik weet dat er wel een paar van die scripts staan hier, waarbij je bepaalde pagina's kan beveiligen.
Ik weet zo niet welke dat precies zijn, maar dan zou je eens in de scriptlib moeten kijken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.