xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
connect.php connect.php connect.php connect.php connect.php
<?php $link=mysql_connect("localhost", "root", ""); mysql_select_db("db_user", $link); $idle=10;//Minuten, die ein User ohne nochmaliges anmelden zwischen zwei Aufrufen geschützter Webseiten verstreichen lassen darf
function benutzer() { Global $link, $IDuser,$sit; $tabellenname = 'tab_user'; $sql="SELECT username FROM $tabellenname WHERE ID='$IDuser' AND kennung ='$sit'"; $result=mysql_query($sql,$link); if(mysql_num_rows($result)==1) { return mysql_result($result,0,'username'); } }
function recht($admin) { Global $link,$IDuser,$sit,$idle; $pfad="../../login.php"; $tabellenname='tab_user';
if(!$IDuser OR !$sit) { $fehler=1; } else { if(!$link) { $fehler=2; } else { $sql="SELECT admin, zeit, kennung, (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(zeit)) as time FROM $tabellenname WHERE ID='$IDuser' AND kennung='$sit'"; $result=mysql_query($sql,$link); if(mysql_num_rows($result)==1) { if($admin==1 AND mysql_result($result,0,'admin')!=1) { $fehler=1; } if(mysql_result($result,0,'time')/60>$idle) { $fehler=3; } } else { $fehler=1; } } }
if($fehler) { switch($fehler) { case 1: die("<html><body><div align=center><h1>Sie haben keine Zugriffsrechte auf diese Seite</h1><a href='$pfad'>zum Log In</a></div></body></html>"); break; case 2: die("<html><body><div align=center><h1>Ein Datenbankfehler verhindert die Authentifizierung, bitte versuchen Sie es später noch einmal!</h1></div></body></html>"); break; case 3: die("<html><body><div align=center><h1>Ihre SitzungsID ist aufgrund zu langer Inaktivitä nicht mehr gütig, bitte melden Sie sich erneut an!</h1><a href='$pfad'>zum Log In</a></div></body></html>"); break; } } else { $sql="UPDATE $tabellenname SET "; $sql.=" zeit= now() "; $sql.=" WHERE ID='$IDuser' "; @mysql_query($sql, $link);
if(mysql_result($result,0,'admin')==1) { return true; } else { return false; }
} mysql_free_result($result); } ?> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
login.php login.php login.php login.php login.php login.php
<?php require('admin/user/connect.php'); echo benutzer(); $tabellenname='tab_user';
if($sent==1) { $sql="SELECT kwort, ID, kennung, (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(zeit)) as time FROM $tabellenname WHERE username='$username' "; $result=mysql_query($sql,$link); if(mysql_num_rows($result)==1) { if(md5($kwort)!=mysql_result($result,0,'kwort')) { $meldung.="Bitte kontrollieren Sie Ihr Kennwort!"; } else { if(mysql_result($result,0,'kennung')==$sit AND mysql_result($result,0,'time')/60<$idle) { $meldung.="Sie sind bereits eingeloggt"; unset($username); } else { if(mysql_result($result,0,'kennung')!='' AND mysql_result($result,0,'time')/60<$idle) { $meldung.="Es ist bereits jemand mit Ihrem Benutzernamen eingeloggt"; } else { $sitzung=uniqid(''); $IDuser=mysql_result($result,0,'ID'); $sql="UPDATE $tabellenname SET "; $sql.=" zeit= now(), "; $sql.=" kennung='$sitzung' "; $sql.=" WHERE ID='$IDuser' "; $test=mysql_query($sql,$link); setcookie('sit',$sitzung); setcookie('IDuser',$IDuser); $meldung="Sie wurden eingeloggt als $username"; unset($username); } } }
} else { $meldung.="Bitte kontrolieren Sie Ihren Benutzernamen"; }
} ?>
<?php
echo "<html><head><title>LOGIN User</title></head><body>"; echo "<h2><font color=red>$meldung</font></h2>"; echo "<h2>Bitte die Benutzerinformationen eingeben</h2>"; echo "<form action='$PHP_SELF' method='post'>"; echo "<input type=hidden name=sent value=1 />"; echo "<p>Benutzername</p>"; echo "<input type=text name=username value='$username' />"; echo "<p>Kennwort</p>"; echo "<input type=password name=kwort />"; echo "<br /><br /><input type=submit>"; echo "</form></body></html>"; ?> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
logout.php logout.php logout.php logout.php logout.php logout.php
<?php require ('admin/user/connect.php'); recht(1); $tabellenname='tab_user';
if($sent==1) { $sql="UPDATE $tabellenname SET "; $sql.=" zeit= 0, "; $sql.=" kennung='' "; $sql.=" WHERE ID='$IDuser' "; @mysql_query($sql,$link); setcookie('sit', '',time()-1000); setcookie('IDuser', $IDuser, time()-1000); unset ($IDuser); }
echo "<html><head><title>LOGOUT-User</title></head><body>"; if($IDuser) { echo "<h2><font color=red>$meldung</font></h2>"; echo "<h2>Sie sind angemeldet als ".benutzer()."<br />"; echo "Abmelden?</h2>"; echo "<form action='$PHP_SELF' method='post'>"; echo "<input type=hidden name=sent value=1 />"; echo "<br /><br /><input type=submit>"; echo "</form>"; } else { echo "Sie sind abgemeldet"; } echo "</body></html>"; ?> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
useradmin.php useradmin.php useradmin.php useradmin.php
<?php require('connect.php'); //recht(1); ?> <html> <head> <title>Userverwaltung</title> </head> <body> <table width="200" border="1"> <tr> <td><img src="../images/clearpixel.gif" width="20" height="20"></td> <td><img src="../images/clearpixel.gif" width="452" height="20"></td> </tr> <tr> <td> </td> <td> <?php $tabellenname='tab_user';
//Alegen eines neuen Users if($sent==1) { $sql="INSERT INTO $tabellenname() VALUES() "; @mysql_query($sql,$link); if(mysql_insert_id()>0) { $ID=mysql_insert_id(); $meldung="Ein neuer User wurde angelegt<br />"; } else { $meldung="Es konnte kein neuer User angelegt werden. Bearbeiten Sie zuvor neu angelegte User und ändern Sie den Usernamen, bevor Sie einen weiteren neuen User anlegen.<br />"; } }
//Speichern der bearbeitenden Userinformationen if($sent==2) { if($kwort!='' AND (strlen($kwort)<6 OR strlen($kwort)>12)) { $meldung.="Das Kennwort hat nicht die richtige Länge <br />"; unset($kwort); }
$sql="UPDATE $tabellenname SET";
if($kwort!='') { $kwort2=md5($kwort); $sql.=" kwort='$kwort2', "; }
$sql.=" username='$username', "; $sql.=" admin='$admin', "; $sql.=" beschreibung='$beschreibung' "; $sql.=" WHERE ID='$ID' "; $test=mysql_query($sql,$link);
if($kwort!='' AND !$test) { $meldung.="Die Änderung konnten nicht gespeichert werden, das alte Kennwort ist noch gültig <br />"; } if($kwort!='' AND $test) { $meldung.="Das neue Kennwort - $kwort - ist jetzt gültig<br />"; } }
//Löschen eines Users if($sent==3) { $sql="DELETE FROM $tabellenname WHERE ID=$ID"; @mysql_query($sql,$link); unset($ID); }
echo "<h2>$meldung</h2>";
//Auslesen der vorhandenen User und Auswahlformular anzeigen $sql="SELECT * FROM $tabellenname ORDER BY username"; $result=mysql_query($sql,$link); if(mysql_num_rows($result)>0) { echo "<h2>Bitte den User zum Bearbeiten auswählen</h2>"; echo "<form action='$PHP_SELF' method='post'>"; echo "<select name='ID'>"; for($i=0;$i<mysql_num_rows($result);$i++) { $ID1=mysql_result($result,$i,'ID'); $username=mysql_result($result,$i,'username'); echo "<option value=$ID1"; if($ID==$ID1){echo " selected ";} echo ">$username"; } echo "</select><br /><br />"; echo "<input type=submit />"; echo "</form>"; }
//Das Formular zum Bearbeiten if($ID) { $sql="SELECT * FROM $tabellenname WHERE ID=$ID"; $result=mysql_query($sql,$link); if(mysql_num_rows($result)==1) { $ID1=mysql_result($result,0,'ID'); $username1=mysql_result($result,0,'username'); $kwort1=mysql_result($result,0,'kwort'); $admin1=mysql_result($result,0,'admin'); $beschreibung1=mysql_result($result,0,'beschreibung'); echo "<h2>Bitte den User $username1 bearbeiten</h2>"; echo "<form action='$PHP_SELF' method='post'>"; echo "<input type=hidden name=sent value=2 />"; echo "<input type=hidden name=ID value=$ID1 />"; echo "<p>Benutzername</p>"; echo "<input type=text name=username value='$username1' />"; echo "<p>Kennwort <br /><font color=red>Bitte leer lassen, wenn es nicht geändert werden sol!</font></p>"; if($kwort1=='kennwort'){echo "<p><font color=red size=+1>Sie müssen das Kennwort noch angeben, damit sich der User anmelden kann.</font></p>";} echo "<input type=text name=kwort value='' />"; echo "<p>Beschreibung</p>"; echo "<input type=text name=beschreibung value='$beschreibung1' />"; echo "<p>Administrator</p>"; echo "<input type=radio name=admin value=-1"; if($admin1==-1){echo " checked ";} echo " />Nein ------"; echo "<input type=radio name=admin value=1"; if($admin1==1){echo " checked ";} echo " />Ja"; echo "<br /><br /><input type=submit />"; echo "</form>";
echo "<br /><a href='$PHP_SELF?sent=3&ID=$ID1'><font size=+1>Den angezeigten User löschen</font></a>"; } }
echo "<br /><a href='$PHP_SELF?sent=1'><font size=+1>Einen neuen User anlegen</font></a>"; ?> </td> </tr> </table> </body> </html> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Struktur DB Struktur DB Struktur DB Struktur DB Struktur DB
Tabellenstruktur für Tabelle tab_user
CREATE TABLE tab_user ( ID int(14) unsigned NOT NULL auto_increment, username char(50) binary default 'neueruser', kwort char(50) binary default 'kennwort', admin tinyint(2) default '-1', beschreibung char(255) default NULL, kennung char(50) default NULL, zeit datetime default NULL, PRIMARY KEY (ID), UNIQUE KEY username (username) ) TYPE=MyISAM;