Philipp Grashoff: Passwortschutz sicher?

Beitrag lesen

HI,

hier iss mal der Code fuer Studierwillige:

Der Loginteil, der auf das Loginformular folgt (im Loginformular werden alle veralteten Eintraege geloescht):
<?
session_start();
session_register('lang');

$db = mysql_connect('localhost', 'dbname', 'passwort');
 if($db) {
 $res = mysql_db_query("dbname","select * from login");
 $num =mysql_num_rows($res);

$richtig = 0;

for($i=0;$i<$num;$i++) {
 $aname[$i] = mysql_result($res, $i, "name");
 $apasswort[$i] = mysql_result($res, $i, "passwort");

if($name == $aname[$i] && $passwort == $apasswort[$i]) {
 $richtig = 1;
 }
 }
 mysql_close($db);
 }
 else {
 header('location:'.$lang.'/index.php?site=sites/meldungen&err=15');
 }
 if($richtig == 1) {

$db = mysql_connect('localhost', 'dbname', 'passwort');
  if($db) {
  $date = time();
  $sesid = session_id();

$res = mysql_db_query("dbname","insert sessions (id, datum) values ('$sesid','$date')");

mysql_close($db);
  }

else {
  header('location:'.$lang.'/index.php?site=sites/meldungen&err=15');
  }

header ('location:'.$lang.'/index.php?site=intern/richtigeseite');
 }

if($richtig == 0) {
 header ('location:'.$lang.'/index.php?site=sites/meldungen&err=14');
 }
?>

Dann das, was in allen internen Seiten steht:

<?
 $db = mysql_connect('localhost', 'dbname', 'passwort');
 if($db) {
 $res = mysql_db_query("dbname","select * from sessions");
 $num = mysql_num_rows($res);
    $erlaubt = 0;
    $akttime = time();

$sesid = session_id();

for ($i=0; $i<$num; $i++) {
 $id[$i] = mysql_result($res, $i, "id");
 $datum[$i] = mysql_result($res, $i, "datum");

if($akttime - $datum[$i] > 1800) {
  $res2 = mysql_db_query("dbname","delete from sessions where id = '$id[$i]'");
  }
 }

$res = mysql_db_query("dbname","select * from sessions");
 $num = mysql_num_rows($res);

for ($i=0; $i<$num; $i++) {
 $id[$i] = mysql_result($res, $i, "id");
 $datum[$i] = mysql_result($res, $i, "datum");
 if($id[$i] == $sesid) {
  $erlaubt = 1;
  $res3 = mysql_db_query("dbname","update sessions set datum = '$akttime' where id = '$id[$i]'");
 }
 }
 mysql_close($db);
 }
 else {
 header('location:index.php?site=sites/meldungen&err=15');
 }

if($erlaubt == 0) {
 header('location:index.php?site=sites/meldungen&err=19');
 }
?>

Haette man sicherlich auch kuerzer schreiben koennen ;)

MFG

Philipp