Урок 44. Куки. Запоминаем пользователя

Чтобы иметь доступ к просмотру всех уроков этого курса, оформите подписку в премиум раздел
каталог товаров

От автора: В предыдущем уроке мы с вами рассмотрели теоретические вопросы работы с куками, моменты безопасности использования кук и еще ряд вопросов. В этом уроке мы от теории перейдем к практике и реализуем запоминание авторизованного пользователя с помощью кук.

lesson

Все уроки курса:

Метки: , ,

Комментарии (15)

  1. Евгений Л.

    Здравствуйте, Андрей!
    Спасибо за Ваш труд! Очень доходчиво объясняете :) Поэтому прошу Вас осветить работу с параметрами path, domain, secure, httponly.

    • Андрей Кудлай

      Здравствуйте, Евгений.
      Обязательно чуть позже будет такой урок. А Вам спасибо за отзыв :)

  2. kovt

    Добрый день.
    Странно, но у меня трюк с кражей куки не проходит. и это кажется логичным, т.к. при запуске другого браузера или нажатии кнопки выход, сессия соответственно начинается новая или закрывается, далее, когда мы прописываем украденный куки не формируются данные $row['name'];$row['is_admin'], их нет, они формируются только тогда, когда мы внесем имя и пароль и сформируется массив POST, поэтому соответствующим элементам массива SESSION присваиваются пустые значения. Если закрыть и открыть браузер или открыть новую вкладку, то да, все работает, т.к. сессионный массив содержит вышеуказанные значения.

  3. Олег

    А у меня, либо кривые руки, но в контроллере который отвечает за проверку наличия логина и пароля( по этим данным осуществляется авторизация), но сразу у меня косяк — если открываю в одном браузере все запоминается и тд, а если открываю в другом браузере(мозилла), и нажимаю запомнить пароль и записывается хэш в бд, и возвращаясь к первому браузеру(хром) закрываю его и открываю, то у меня летят все авторизационные схемы…. блин, врятли кто-то что-то поймет=) Самому придется грести мой гавнокод=(((

    • Андрей Кудлай

      Если это все эксперименты с одним пользователем в разных браузерах, тогда все верно, так и должно быть. Когда запомненный пользователь в одном браузере авторизуется и запоминается в другом браузере, то для него генерируется новое значение куки, которое не будет совпадать со значение куки в предыдущем браузере. Соответственно, когда мы повторно зайдем из первого браузера, то кука там будет удалена и пользователь окажется неавторизованным.

      • Олег

        Дык, у меня вот что-то удаление не работает, пишет на счет отправленных заголовков… Оно ведь выводится на том месте где должен быть закрытый контент, а если подключать раньше всех, то раньше подключения класса в котором и стартует сессия в __construct(), — то все равно ругается на отправку заголовков после вывода инфы в браузер

  4. Юрий

    Почему если не ставя галочку запомнить, через пару минут авторизации если обновить сайт то сессия попадает?

    • Андрей Кудлай

      Возможно продолжительность сессии у вас установлена в несколько минут или файл сессии удаляет сборщик мусора, вызванный другим скриптом (если речь идет о хостинге). Подробнее можно прочесть в документации или в этой статье.

  5. [email protected]

    Доброго времени суток.
    Большое Вам спасибо за Ваш труд и Ваши уроки — очень толково, полезно и доходчиво!
    У меня к Вам вопрос. Такая проблема — куки создаются, так же верно указывается время жизни куки — неделя там, или любое другое установленное значение, но если закрыть браузер и открыть снова — куки больше нет. Не подскажете, в чем проблема?

    • Андрей Кудлай

      Здравствуйте. Здесь нужно только смотреть код, чтобы выявить проблему. Если не разберетесь сами, тогда в разделе для клиентов на нашем форуме задайте вопрос и дайте ссылку на архив с Вашим приложением (плюс дамп БД), я попробую посмотреть. Если доступа к разделу для клиентов на форуме у Вас нет, тогда напишите в нашу службу поддержки, мы откроем.

      • [email protected]

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

        • Андрей Кудлай

          Да, должна. Если у Вас не так, значит где-то ошибка. Как я и говорил выше, нужно смотреть Ваш код, чтобы сказать что-то конкретнее.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree