Добро пожаловать, Гость!
Авторизация с (телефона)
Общие вопросы | Авторизация с (телефона)
![](/style/user/man_off.gif)
![*](/style/medal/7.png)
![](/style/icons/lisense.png)
Авторизация с (телефона)
13 Сент 2013Правильно ли я делаю?
<?
if (isset($_GET['id']) && isset($_GET['pass']))
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '".intval($_GET['id'])."' AND `pass` = '".shif($_GET['pass'])."' LIMIT 1"), 0)==1)
{
$user = get_user($_GET['id']);
$_SESSION['id_user'] = $user['id'];
mysql_query("UPDATE `user` SET `date_aut` = ".time()." WHERE `id` = '$user[id]' LIMIT 1");
mysql_query("UPDATE `user` SET `date_last` = ".time()." WHERE `id` = '$user[id]' LIMIT 1");
mysql_query("INSERT INTO `user_log` (`id_user`, `time`, `ua`, `ip`, `method`) values('$user[id]', '$time', '$user[ua]' , '$user[ip]', '0')");
}
else $_SESSION['err'] = 'Неправильный логин или пароль';
}
elseif (isset($_POST['nick']) && isset($_POST['pass']) || isset($_POST['reg_telephone']))
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `nick` = '".my_esc($_POST['nick'])."' AND `pass` = '".shif($_POST['pass'])."' LIMIT 1"), 0) || mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `reg_telephone` = '".my_esc($_POST['reg_telephone'])."' AND `pass` = '".shif($_POST['pass'])."' LIMIT 1"), 0))
{
$user = mysql_fetch_assoc(mysql_query("SELECT `id` FROM `user` WHERE `nick` = '".my_esc($_POST['nick'])."' AND `pass` = '".shif($_POST['pass'])."' LIMIT 1")) || mysql_fetch_assoc(mysql_query("SELECT `id` FROM `user` WHERE `reg_telephone` = '".my_esc($_POST['reg_telephone'])."' AND `pass` = '".shif($_POST['pass'])."' LIMIT 1"));
$_SESSION['id_user'] = $user['id'];
$user = get_user($user['id']);
// сохранение данных в COOKIE
if (isset($_POST['aut_save']) && $_POST['aut_save'])
{
setcookie('id_user', $user['id'], time()+60*60*24*365);
setcookie('pass', cookie_encrypt($_POST['pass'],$user['id']), time()+60*60*24*365);
}
mysql_query("UPDATE `user` SET `date_aut` = '$time', `date_last` = '$time' WHERE `id` = '$user[id]' LIMIT 1");
mysql_query("INSERT INTO `user_log` (`id_user`, `time`, `ua`, `ip`, `method`) values('$user[id]', '$time', '$user[ua]' , '$user[ip]', '1')");
}
else $_SESSION['err'] = 'Неправильный логин или пароль';
}
elseif (isset($_COOKIE['id_user']) && isset($_COOKIE['pass']) && $_COOKIE['id_user'] && $_COOKIE['pass'])
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = ".intval($_COOKIE['id_user'])." AND `pass` = '".shif(cookie_decrypt($_COOKIE['pass'],intval($_COOKIE['id_user'])))."' LIMIT 1"), 0)==1)
{
$user = get_user($_COOKIE['id_user']);
$_SESSION['id_user'] = $user['id'];
mysql_query("UPDATE `user` SET `date_aut` = '$time', `date_last` = '$time' WHERE `id` = '$user[id]' LIMIT 1");
$user['type_input'] = 'cookie';
}
else
{
$_SESSION['err'] = 'Ошибка авторизации по COOKIE';
setcookie('id_user');
setcookie('pass');
}
}
else $_SESSION['err'] = 'Ошибка авторизации';
if (!isset($user))
{
header('Location: /aut.php');
exit;
}
?>
Комментарии:
Нет сообщений в теме