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?
[php]
<?php
session_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");
}
?>
[/code]
407 views