За последние 24 часа нас посетили 16732 программиста и 1694 робота. Сейчас ищут 867 программистов ...

PHP авторизация с помощью хэша

Тема в разделе "PHP для новичков", создана пользователем Ser2011, 28 июн 2011.

  1. Ser2011

    Ser2011 Активный пользователь

    С нами с:
    28 июн 2011
    Сообщения:
    10
    Симпатии:
    0
    Здравствуйте!
    Прочитал множесто статей, но никак не найду как реализовать так, чтобы запомнить пользователя на разных браузерах одновременно.

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

    Заранее спасибо за ответ.
     
  2. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    это дурацкая идея запоминать юзера по ИП.
    обычно юзера запоминают по куке. но если с другого браузера откроет - то такое не проканает.
     
  3. Ser2011

    Ser2011 Активный пользователь

    С нами с:
    28 июн 2011
    Сообщения:
    10
    Симпатии:
    0
    ясно что куки используем, вопрос как запомнить юзера на разных компах. ведь щас все известные сайты дают эту возможность
     
  4. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Можете просто менять ему в куке хеш после логина и хранить этот один хеш.
    А есть еще один более простой способ - генерите этот хеш от пароля + какой еще информации - тогда его вообще хранить не нужно - достаточно по id (из куки) взять пароль из базы сгенерить такой же хеш и сравнить.
     
  5. Ser2011

    Ser2011 Активный пользователь

    С нами с:
    28 июн 2011
    Сообщения:
    10
    Симпатии:
    0
    т.е. будет единый хэш для всех браузеров?
    вот я посмотрел известные сайты у них хэш разный всегда. у них наверна всетаки в базе отдельная таблица для хэшов
     
  6. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    Я делаю так:
    храню 3 куки: id юзверя, email, хеш = md5(id + email + соль из БД для пользователя)

    делаю запрос из БД по id и email, генерю заново хеш на основе данных из БД и сравниваю хеш из куки

    ставлю в сессии отметку о том что пользователь залогинен и потом проверю по сессии

    при разлогинивании чищу куки и сессию