Witam. Jestem raczkującym przedszkolakiem w PHP i dzisiejszego wieczoru spłodziłem mały ekran logowania. Byłbym bardzo wdzięczny za znalezienie jego wad dot. funkcjonalności i bezpieczenstwa oraz bardzo szczegółowe objaśnienie ich.
Oto mój kodzik:
<?php
$body = "<head>
<meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\">
<meta http-equiv=\"Reply-to\" content=\"xxx\">
<meta http-equiv=\"Content-Language\" content=\"pl\">
<meta name=\"Author\" content=\"xxx\">
<link rel=\"Stylesheet\" type=\"text/css\" href=\"style.css\">
<title>xxx</title>
</head>
<br><br><br>
<center>";
if (isset($_POST["user"]) && isset($_POST["pass"]) && $_GET['do'] === "yes") {
$user=trim($_POST['user']); $login_info = mysql_query("SELECT * FROM user_list WHERE user = '$user'") {
header("Refresh: 2; url=login.php"); Nie ma takiego użytkownika!<br>
...Przeładowywanie formularza...</b>";
}
else
{
$new_sid = md5($_SERVER['REMOTE_ADDR']."".date(YmdHis
));
if (($login_info['user'] == $user && $login_info['pass'] == $pass) || !$_COOKIE['sid'] || $_COOKIE['user'])
{
$_SESSION['sid'] = $new_sid;
$log_update = mysql_query("UPDATE user_list SET sid = '".$new_sid."', ip = '".$_SERVER['REMOTE_ADDR']."' WHERE user = '".$user."'") or
die(mysql_error()); header("Refresh: 2; url=admin.php"); Logowanie użytkownika <u>".$user."</u><br>
...Ładowanie panelu...</b>";
}
}
}
else if (isset($_COOKIE['sid']) || isset($_SESSION['sid']) || isset($_COOKIE['user'])) {
header("Refresh: 2; url=login.php"); if (isset($_COOKIE['user'])) {
<b>Czekaj, trwa czyszczenie niezakończonej sesji użytkownika <u>".$_COOKIE['user']."</u>...</b>";
}
else
{
<b>...Czekaj, trwa przygotowywanie formularza...</b>";
}
}
<form action=\"login.php?do=yes\" method=\"POST\">
<table>
<tr>
<td><b>Użytkownik:</b></td>
<td><input type=\"text\" name=\"user\"></td>
</tr>
<tr>
<td><b>Hasło:</b></td>
<td><input type=\"password\" name=\"pass\"></td>
</tr>
<tr>
<td colspan=\"2\"><center>
<input type=\"submit\" value=\"loguj\">
</center></td>
</tr>
</table>
</center>
</form>";
?>
Ten post edytował ze4lot 22.10.2007, 20:22:10