hallo ich bin daran eine seite zu bauen bei dem gewisse bereiche nur für eingeloggte benutzer zugänglich sein sollen. ich habe dieses mit sessions und einer mysql datenbank umgesetzt. das script funktioniert soweit.
nun weiss ich aber nicht ob es offensichtliche sicherheitslöcher aufweist (oder auch kleinere) und wäre um euer feedback froh :-)
Hier die indexseite mit dem loginfenster:
Das eingesetze formular zum einloggen:
Die logout seite:
Eine der seiten die geschützt sein sollen:
Hier der aufbau der datenbanktabelle
[COLOR=orange]CREATE TABLE benutzer (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
benutzerzugang VARCHAR(30),
passwortzugang VARCHAR(30),
benutzerstatus INT,
kundenid INT,
datum DATETIME
);[/COLOR]
natürlich werde ich das ganze noch ausbauen. aber ich möchte wissen ob ich bis jetzt keine grosse sicherheitsmängel einprogrammiert habe. danke.
nun weiss ich aber nicht ob es offensichtliche sicherheitslöcher aufweist (oder auch kleinere) und wäre um euer feedback froh :-)
Hier die indexseite mit dem loginfenster:
PHP-Code:
<?PHP
session_start();
?>
<?PHP
if(isset($_POST['submit']))
{
include("config.php"); // datenbankverbindung
$abfrage = "SELECT * FROM benutzer_tabelle WHERE (benutzerzugang = '".$_POST['benutzer']."') AND (passwortzugang = '".$_POST['passwort']."')";
$ergebnis = mysql_query($abfrage) or die(mysql_error());
$row = mysql_fetch_array($ergebnis);
if($row['benutzerstatus'] == 1)
{
$_SESSION['logstatus']=1;
}
else
{
echo "Keine Zugangsberechtigung!";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<?PHP
if($_SESSION['logstatus'] != 1)
{
include("loginformular.php");
}
else
{
echo"<a href=\"kunde1.php\">zum kundenbereich</a><br>";
echo"<a href=\"logout.php\">logout</a>";
}
?>
</body>
</html>
PHP-Code:
<form name="form1" method="post" action="<?php print $PHP_SELF?>">
<input name="benutzer" type="text" id="benutzer" value="<?php print $user?>" size="40" maxlength="40"><br />
<input name="passwort" type="text" id="passwort" value="<?php print $pass?>" size="40" maxlength="40"><br />
<input name="submit" type="submit" id="submit" value="Senden"></form>
PHP-Code:
<?PHP
session_start();
session_destroy();
?>
ausgeloggt.<br>
<a href="index.php">zurück zur startseite </a>
Eine der seiten die geschützt sein sollen:
PHP-Code:
<?PHP
session_start();
if ($_SESSION["logstatus"]!=1){
header("Location:index.php");
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
kundenseite
<br>
<a href="index.php">zurück zur startseite </a>
</body>
</html>
Hier der aufbau der datenbanktabelle
[COLOR=orange]CREATE TABLE benutzer (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
benutzerzugang VARCHAR(30),
passwortzugang VARCHAR(30),
benutzerstatus INT,
kundenid INT,
datum DATETIME
);[/COLOR]
natürlich werde ich das ganze noch ausbauen. aber ich möchte wissen ob ich bis jetzt keine grosse sicherheitsmängel einprogrammiert habe. danke.
Kommentar