Ребятосы такой момент совет ваш нужен, как лучше сделать проверку на существующего пользователя через сессии ниже 3 варианта:
1. Проверка на наличие ID в сессии логина и пароля
$req = mysql_query("SELECT * FROM `elewar_users` WHERE `id`='".$_SESSION['id']."' and `login`='".$_SESSION['login']."' and `password`='".$_SESSION['password']."' "
$avto=mysql_num_rows($req);
if($avto==1){
Доступ разрешен!
}else{
unset($_SESSION['id']);
unset($_SESSION['login']);
unset($_SESSION['password']);
unset($_SESSION['auth']);
header ("Location: ../index.php"
exit;
}
2. Или просто проверку на ID
$req = mysql_query("SELECT * FROM `elewar_users` WHERE `id`='".$_SESSION['id']."' "
$avto=mysql_num_rows($req);
if($avto==1){
Доступ разрешен!
}else{
unset($_SESSION['id']);
unset($_SESSION['login']);
unset($_SESSION['password']);
unset($_SESSION['auth']);
header ("Location: ../index.php"
exit;
}
3. Или же вообще такой варик:
$user = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '".$_SESSION['id']."' LIMIT 1");
а дальше проверять
if(!empty($us)){
Но я думаю 3 вариант это полное говно
ЧТо скажите, или может что подскажите? Как в лучшем варианте?
И будет ли эта проверка нагружать БД?
Т.е проверку лучше поставить только на `id`='".$_SESSION['id']."' или для безопасности лучше уже на логин пароль и ид?))
`id`='".$_SESSION['id']."' and `login`='".$_SESSION['login']."' and `password`='".$_SESSION['password']."' "
Логин и пароль,if (isset($_SESSION['login']) && isset($_SESSION['pass'])){ и погнали под свои нужды запиливать
Favorit,unset($_SESSION['id']);
unset($_SESSION['login']);
unset($_SESSION['password']);
unset($_SESSION['auth']); это лучше заменить на session_destroy();
да читал об этом, пока особо внимание не обращал на нюансы, заменю)
Благодарю)
Добавлено 19.05.16 в 11:26:48:
$_SESSION['id']=$user['id'];
$_SESSION['login']=$user['login'];
$_SESSION['password']=$user['password'];
$_SESSION['auth']=1;
ВОт так вот записываю сессию, при авторизации
логин и пароль, иначе при "краже" аккаунта пользователя даже при смене пароля доступ останется у злоумышленника (так как session жива будет)
Тему перенёс из подраздела Программирование в подраздел Вопросы новичков!
$req = mysql_query("SELECT * FROM `elewar_users` WHERE `id`='".$_SESSION['id']."' and `login`='".$_SESSION['login']."' and `password`='".$_SESSION['password']."' "
Так вот проверку делаю, думаю вариант оптимальный будет?))+ ко всему пароль кодирую