Hallo
Es wäre sehr nett, wenn mir jemand folgendes auf Sicherheit prüfen könnte und mir ein paar Tips geben könnte.
Ich danke schon ein mal im Voraus
Vorab: Folgende Codes dienen den Übungszweck. Kommentare habe ich nicht für nötig gehalten, da das ganze nicht zu gross ist/wird.
login.php
Bei der Datei connect.php bin ich mir sicher, dass die Datei gut ist
shc.php
logein.php
Dann bginnt es mit:
Es wäre sehr nett, wenn mir jemand folgendes auf Sicherheit prüfen könnte und mir ein paar Tips geben könnte.
Ich danke schon ein mal im Voraus
Vorab: Folgende Codes dienen den Übungszweck. Kommentare habe ich nicht für nötig gehalten, da das ganze nicht zu gross ist/wird.
login.php
PHP-Code:
<!DOCTYPE html Public
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-script.dtd">
<html>
<head><title>ACS Login</title></head>
<body>
<?php
include "connect.php";
include "shc.php";
?>
<center><h1>Willkommen Zum Login in die ACS</h1><br><br>
<form action="logein.php" method="post">
<table border="1" bordercolor="#FF0033">
<tr>
<td width="50%">Name:</td><td width="50%"><input type="text" name="uname"></td>
</tr>
<tr>
<td width="50%">Passwort:</td><td width="50%"><input type="password" name="pwort"></td>
</tr>
<tr>
<td width="50%"><img border="0" height="50" src="grafischer-code.php?ID=<?php echo$ID; ?>" width="200"></td>
<td width="50%"><input name="ID" type="hidden" value="<?php echo$ID; ?>">
<input maxlength="6" name="EingegebenerCode" size="6" type="text"></td></tr>
<tr>
<td><input type="submit" value="Einlogen"</td>
</tr>
</body>
</html>
Bei der Datei connect.php bin ich mir sicher, dass die Datei gut ist
shc.php
PHP-Code:
<?php
$TableCode = "Code";
$Buchstaben = array("A", "B", "C", "D", "E", "F", "G", "H", "K", "M", "N", "P", "Q", "R", "S", "T", "U",
"V", "W", "X", "Y");
$Zahlen = array("2", "3", "4", "5", "6", "7", "8", "9");
for($i = 0, $Code = "", $AngezeigterCode = ""; strlen($Code) < 6; $i++)
{
if(rand(0, 1) == 0 && isset($Buchstaben))
{
$Buchstabe = $Buchstaben[rand(0, count($Buchstaben)-1)];
$Code .= $Buchstabe;
$AngezeigterCode .= $Buchstabe." ";
}
else
{
$Zahl = $Zahlen[rand(0, count($Zahlen)-1)];
$Code .= $Zahl;
$AngezeigterCode .= $Zahl." ";
}
}
$AngezeigterCode = trim($AngezeigterCode);
mysql_query("INSERT INTO $TableCode (Code, AngezeigterCode) VALUES ('$Code', '$AngezeigterCode')");
$ID = mysql_insert_id();
?>
PHP-Code:
<?php
session_start();
?>
<?php
include "connect.php";
$TableCode = "Code";
$ResultPointer = mysql_query("SELECT Code FROM $TableCode WHERE ID = '".intval($_REQUEST['ID'])."'");
$Result = mysql_fetch_object($ResultPointer);
if(strtolower($Result->Code) == strtolower($_REQUEST['EingegebenerCode']))
{
$mg = $_POST['uname'];
$pw = md5($_POST['pwort']);
$kontr = "SELECT Mitglied, Passwort FROM admin WHERE Mitglied LIKE '$mg' LIMIT 1";
$ausk = mysql_query($kontr);
$row = mysql_fetch_object($ausk);
if($row->Passwort == $pw) {
$_SESSION['Mitglied'] = $mg;
echo "Login war erfolgreich.<br>
<a href=\"acs.php\">Bitte Hier klicken um in die ACS weitergeleitet zu werden</a>";
}
else {
echo "Benuterz und/oder Passwort ist falsch bitte noch mal versuchen.<br>
<a href=\"login.php\">Hier gehts zurück</a>";
}
}
else {
echo "Bildercode ist falsch! <a href=\"login.php\">Zurück</a>";
}
mysql_close($verbindung);
mysql_error();
error_reporting();
?>
Dann bginnt es mit:
PHP-Code:
<?php
session_start();
?>
<?php
if(!isset($_SESSION['Mitglied'])) {
echo "Bitte zuerst einlogen <a href=\"login.php\">Zum Login</a>";
exit;
}
?>
Kommentar