Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Надежный ли способ в моем примере логинить юзера


Автор: linuxoid 27.4.2010, 21:32
Здравствуйте товарищи!
Я подзадумался вот о чем: нормально-ли у меня реализовано добавление пользователя в куки (запомнить вход на сайте). А именно у меня сомнения насчет 
Код

$c_pass  = md5($ip_addr.$user['password']);


Всегда-ли сервер правильно распознает любого юзера, который вошел на сайт с того же компа (в течении действия кук он будет залогинен автоматически после сравнения... 

Код

                if(isset($_POST["remember"]))
                {
                    $ip_addr = ($_SERVER['REMOTE_ADDR']);
                    $c_pass  = md5($ip_addr.$user['password']);
                    setcookie('login', $user['login'], time() + 2592000);
                    setcookie('password', $c_pass , time() + 2592000);
                }
                
                $_SESSION["client"]["logged_in"] = 1;
                $_SESSION['client']["id"]         = $user['id'];



Авторизация происходит, если

Код

        // esli takoi user estj i parolj sovpadaet s parolem v pe4enii
        if(isset($user['login']) && $_COOKIE['password'] == md5($ip_addr.$user['password']))
        {
            $_SESSION["client"]["logged_in"] = 1;
            $_SESSION['client']["id"]         = $user['id'];                
            
            redirect("index.php");
        }

Автор: Noviy 27.4.2010, 21:44
Я бы к IP не привязывался, поскольку много провайдеров используют динамический IP. 
Код

if(isset($user['login']) && $_COOKIE['password'] == md5($ip_addr.$user['password']))

Можно прописать 
Код

if($_COOKIE['login'] && $_COOKIE['password'] ) {
  //Вызов функции авторизации.
}

Автор: NewDima 28.4.2010, 08:59
Осталось только своровать хэш пароля и логиниться третьему лицу без проблем. Схема абсолютно не безопасна

Автор: Noviy 28.4.2010, 10:20
NewDima - Ваш ответ можно применить к любому скрипту аутентификации. 
"Осталось только своровать пароль и логин, от любого аккаунта(сайта, сервера итд) третьему лицу и логиниться без проблем. Схема абсолютно не безопасна."

Автор: NewDima 28.4.2010, 10:41
Здесь нужно всего-лишь похитить куку. Гуглите по вопросу похищения кук

Автор: linuxoid 30.4.2010, 19:13
Спасибо за инфу. Есть о чем поразмыслить smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)