astron8
Guest
Скрипт авторизации начального уровня
Здравствуйте, оцените данный код на "слабые места", я новичок, поэтому решил проконсультироватся...первые шаги все-таки
index.php
auth.php
out.php
Здравствуйте, оцените данный код на "слабые места", я новичок, поэтому решил проконсультироватся...первые шаги все-таки

index.php
PHP:
<?php
unset($user_name);
session_start();
if (isset($user_name))
{
print "Добро пожаловать, ".$user_name."<br><a href=out.php>Выход</a>";
}
else
{
?>
<form action="auth.php" method="post">
<table cellspacing="0" border="1">
<tr><td>Логин </td><td align="right"><input type="text" size="15" name="user_name" maxlength=25></td></tr>
<tr><td>Пароль</td><td align="right"><input type="password" size="15" name="user_pass"maxlength=32></td></tr>
<tr align="right"><td colspan="2"><input type="submit" name="submit" value="войти"></td></tr> </table> </form>
<?php
}
?>
PHP:
auth.php
<?php
session_start();
function error ($error_message)
{
echo $error_message."<BR>";
print "<meta http-equiv=\"refresh\" content=\"2;URL=index.php\">";
exit;// header("location: index.php");
}
if (isset($submit))
{
$user_name=$_POST['user_name'];
$user_name=substr($user_name,0,25);
$user_name=addslashes($user_name);
//---------------------------------\\
$connect=mysql_connect('localhost','root') or die("Ошибка. Нет связи с сервером MySQL.<br>");
mysql_select_db('test',$connect) or die("Ошибка. Нет связи с Базой Данных.<br>");
$query = "SELECT * FROM users WHERE user_name = '$user_name'";
$select = mysql_query($query);
mysql_close($connect);
If (mysql_num_rows($select) != "0")//если такой юзер есть
{
//$login_user = mysql_result($select, 0, 'user_id');//так медленее
$info_user=mysql_fetch_array($select);
$PASSWORD=$info_user["user_pass"];
$user_name=$info_user["user_name"];//Логин будет таким как в базе(с учетом регистра)
sleep(1);//задержка на 1 сек, защита от перегрузки сервера при подборе пароля
if ($user_pass == "$PASSWORD")
{
session_register("user_name");
print "Сегодня - ".date("d-m-Y",time());
echo "<br>Привет <b>$user_name</b>.<br>";
echo "Вы Ввели <b>$PASSWORD</b> и это ваш пароль.";
echo "<br><a href=out.php>Выход</a>";
}
else error("Указан не правильный пароль.
<br>Попытка входа под этим логином и паролем была занесена в LOG БД");//еще не сделал %)
}// mysql_num_rows //$IP=$GLOBALS['REMOTE_ADDR'];
Else
{
error("Пользователя с таким именем не существует.");
}
}
else error("В доступе отказано.")
?>
PHP:
out.php
<?php
session_start();
session_destroy();
unset($user_name);
print "<meta http-equiv=\"refresh\" content=\"1;URL=index.php\">";
?>