so nun habe ich mein login & passwortschutz skript überarbeitet,
und würde gerne eure meinung betreffend sicherheitslöcher hören.
die indexseite mit dem loginformular:
das formular das oben per include eingefügt wird:
auf jeder seite die geschützt sein sollte folgendes script:
und hier noch die mysql tabelle:
[color="green"]CREATE TABLE bentab (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
benutzerzugang VARCHAR(30),
passwortzugang VARCHAR(30),
benutzerstatus INT,
kundenid INT,
datum DATETIME
);[/color]
und würde gerne eure meinung betreffend sicherheitslöcher hören.
die indexseite mit dem loginformular:
PHP-Code:
<?PHP
session_start(); // session starten
if(isset($_POST['submit'])) // wenn gesendet
{
include("config.php"); // die datenbankverbindung
// no injection start
$benutzer = stripslashes($_POST['benutzer']);
$benutzer = mysql_real_escape_string($benutzer);
$passwort = stripslashes($_POST['passwort']);
$passwort = mysql_real_escape_string($passwort);
// no injection ende
// datenbankabfrage start
$abfrage = "SELECT * FROM bentab WHERE (benutzerzugang = '$benutzer') AND (passwortzugang = '$passwort')";
$ergebnis = mysql_query($abfrage) or die(mysql_error());
$row = mysql_fetch_array($ergebnis);
if( mysql_num_rows($ergebnis) == 1) // ueberprueft anzahl der datensätze die zurueckkommen
{
echo "Login OK";
$_SESSION['logstatus']=1;
}
else
{
echo "Keine Zugangsberechtigung!";
}
}
// datenbankabfrage ende
?>
<html>
<head>
</head>
<body>
<?PHP
if($_SESSION['logstatus'] != 1)
{
include("loginformular.php");
}
else
{
echo"<a href=\"kunde1.php\">zum kundenbereich</a>";
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();
if ($_SESSION["logstatus"]!=1){
header("Location:index.php");
exit;
}
?>
[color="green"]CREATE TABLE bentab (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
benutzerzugang VARCHAR(30),
passwortzugang VARCHAR(30),
benutzerstatus INT,
kundenid INT,
datum DATETIME
);[/color]
Kommentar