За последние 24 часа нас посетили 22866 программистов и 1225 роботов. Сейчас ищут 757 программистов ...

Cookie, session и аутентификация пользователя

Тема в разделе "PHP для новичков", создана пользователем Web, 14 фев 2017.

Метки:
  1. Web

    Web Новичок

    С нами с:
    21 окт 2016
    Сообщения:
    30
    Симпатии:
    1
    Здравствуйте ! Начал недавно делать форму регистрации и входа, но передо мной встал вопрос - как лучше запоминать пользователя и какие именно параметры. Cookie доверия нет, т.к. их можно подменить, а сессии слетают при завершении сеанса браузера. Единственным возможным вариантом для меня остаётся хранение в cookie токена и логина пользователя, но всё равно я сомневаюсь в такой защите, да и доставать постоянно из БД и сверять токен или логин как-то не хочется...
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Куки слетают при закрытии браузера. Сессионные. Те, которым дано жить подольше - не слетают.
    Логины-пароли (и хэши паролей тоже) не нужно хранить в куках.
    Если пользователь аутентифицирован - воспользуйся штатной сессией пхп-машины.
    Если хочешь автовход - храни в куке токен автовхода, связанный с пользователем. У пользователя может быть один или несколько автовходов - это тебе нужно решить на этапе проектирования. Автовход должен убиваться при запросе смены и смене пароля - это тебе нужно будет реализовать на этапе реализации.
     
    Web и mahmuzar нравится это.
  3. Web

    Web Новичок

    С нами с:
    21 окт 2016
    Сообщения:
    30
    Симпатии:
    1
    Спасибо большое ! Прояснили некоторые моменты.
     
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    @TeslaFeo нет, эта статья немного не по его проблеме. Она описывает как изнасиловать мускул/машку хранением сессионных данных в СУБД вместо файлов в системе. Уж лучше какое-нибудь хранилище в ОЗУ использовать типа редиски или мемкэша. Или каталог сессии на рамдрайв запихнуть. Да, РСУБД можно использовать, если делать таблицы в оперативной памяти. Но данная статья об этом не упоминает, следовательно таблицы будут созданы с дефолтным движком - майисам или иннодиби - и все сессионные дрочки будут так же лохматить жесткий диск. В общем плохая статья и совсем не в тему.
     
    Web, artoodetoo и TeslaFeo нравится это.
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    не ссыкуй, так все делают и не парятся.
     
    Web нравится это.