sikkerhed i login
Jeg har et brugersystem som jeg har lavet lidt sikkerhed til men jeg har lidt problemmer med det desværre. Normalt virker det men nogengange vil den bare ikke lukke en ind før man har været helt ude af systemet.Jeg har lavet det med sessions og så en include af en fil som checker brugernavn og password samt om man er online i db.
Her er min include til check:
_______________________________________________________
<?
include ("database.php");
include ("../ban/ban.php");
session_start();
mysql_connect("$db_host", "$db_user", "$db_pass");
mysql_select_db("$database");
$res = mysql_query("select * from combox where brugernavn='$brugernavn' and password='$password'");
$stat = mysql_fetch_array($res);
if (($stat < "1") || ($stat[statlogin] != "1")){
header ("location: http://cbox.dk/mainsites/login.php?fib=$PHP_SELF");
}
if ($stat[ban] == "ja"){
mysql_query("update combox set ip='$REMOTE_ADDR' where brugernavn='$brugernavn' and password='$password'");
header ("location: http://www.cbox.dk/ban/ban.php");
}
?>
______________________________________________________
Her er min loginside så:
______________________________________________________
<?
session_start();
session_destroy();
session_start();
include ("database.php");
$password = md5("$password");
mysql_connect("$db_host","$db_user","$db_pass");
mysql_select_db("$database");
$Record = mysql_query("SELECT * FROM combox WHERE brugernavn = '$brugernavn' and password = '$password'") or die(mysql_error());
$row = mysql_fetch_array($Record);
if ($row){
$dato = time();
$row[statlogintid] ++;
// checker db for venner
$ven_com = mysql_query("SELECT * FROM venner WHERE ven='$brugernavn' and godkendt='ja'") or die(mysql_error());
// hvis der er venner
while ($ven = mysql_fetch_array($ven_com)){
// henter oplysninger om ven
$check = mysql_query("SELECT * FROM combox WHERE brugernavn='$ven[nick]'") or die(mysql_error());
$online = mysql_fetch_array($check);
// hvis ven er online
if ($online[statlogin] == "1"){
// skriv besked til bruger om at han er online
mysql_query("update venner set status='online', besked='Din ven $brugernavn er nu online' where id='$ven[id]'") or die(mysql_error());
}
}
$res = mysql_query("select * from combox where brugernavn='djsaw'") or die(mysql_error());
$online = mysql_fetch_array($res);
if ($online[status] == "online"){
mysql_query("INSERT INTO `admin` ( `id` , `status` , `nick` , `head` , `besked` , `sektion` ) VALUES ('', 'ny', '$brugernavn', 'Bruger er online', '$brugernavn har logget på', 'online')");
}
mysql_query("UPDATE combox SET andenlogon='$row[sidstelogon]', statlogin='1', ip='$REMOTE_ADDR' WHERE brugernavn='$brugernavn'");
mysql_query("UPDATE combox SET statlogintid='$row[statlogintid]', sidstelogon='$dato' WHERE brugernavn='$brugernavn'");
session_register("brugernavn");
session_register("password");
header ("location: http://www.cbox.dk/mainsites/info.php");
}
Må jeg så høre hvad jeg skal gøre for at få det til at køre smertefrit?