Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Автологин
RootPM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Пользователь
Сообщений: 169
Пользователь №: 43443
На форуме: 2 месяца, 4 дня
Карма: 1




Чему учат в школах ) Как правильно и безопасно сформировать хеш для cookie, чтобы делать авто-логин?


--------------------
Все будет офигенно. Кому-то сразу, кому-то постепенно.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
RootPM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Пользователь
Сообщений: 169
Пользователь №: 43443
На форуме: 2 месяца, 4 дня
Карма: 1




При этом данные аккаунта использовать запрещено


--------------------
Все будет офигенно. Кому-то сразу, кому-то постепенно.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 21 день
Карма: 7




ну можно не все двнные использовать, к примеру логин, маил, плюс соль обычная и соль для каждрго юсера, но ее нужно хранить в бд, ну и далее все эио хешируем, а как ты будешь хешировать, то есть алгоритм, дело твое
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 21 день
Карма: 7




а почему нельзя использовать данные аккаунта, к примеру логин?
Ну не хочешь данные, так пиши id юсера в хеш
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 21 день
Карма: 7




здесь скорее нужно правильно сделать алгоритм хеширования, чтоб к примеру при раскодировании это было затратно, ну и чтоб сервер не нагрузить. И я думаю не важно будешь ты использовать логин или маил юсера, если грамотно захешировать то все будет гуд, имхо
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: 70




RootPM
"безопасно" как и "правильно" понятия относительные.
я обычно храню в куках ключ key со значением что то на подобии user_id:md5(хэш_из_базы . $_SERVER['HTTP_USER_AGENT']).
хэш_из_базы - какая нибудь полурандомно-сгенерированная хрень, которая хранится в таблице пользователя, если нужно выйти на всех устройствах, например при смене пароля, перегенерирую этот хэш.


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
RootPM  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Пользователь
Сообщений: 169
Пользователь №: 43443
На форуме: 2 месяца, 4 дня
Карма: 1




Цитата (Arh @ 18.11.2016 - 20:38)
хэш_из_базы - какая нибудь полурандомно-сгенерированная хрень

random_int - подойдёт?


--------------------
Все будет офигенно. Кому-то сразу, кому-то постепенно.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 21 день
Карма: 7




Цитата (RootPM @ 19.11.2016 - 14:21)
Цитата (Arh @ 18.11.2016 - 20:38)
хэш_из_базы - какая нибудь полурандомно-сгенерированная хрень

random_int - подойдёт?

а почему именно random_int? Можно самому написать функцию, которая будет генерировать рандомное число, знаки и буквы, и это все будет вкучу, а колияество знаков можно задать отдельно
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 2 дня
Карма: 591




данные автологина хранить в таблице вида
user_id | token
token генерить криптостойким источником random_bytes(), random_int(), openssl_random_pseudo_bytes() и т.п.
на этапе авторизации просто проверять наличие записи в БД
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: 70




RootPM
Цитата
random_int - подойдёт?

Тут скорее важна длинна токена.
Если хакер знает твой алгоритм хэширования, допустим он знает юзер агент жертвы и знает id жертвы. Если токен это рандомное число от 1 до 10, то взломать можно простым перебором.
Сделай несколько алгоритмов получения токена и рандомно применяй их для генерации.
К примеру один мешает дату последнего захода пользователя с рандомно взятой буквой из его пароля и тд и хэшурет это с помошью (md5,sha1 или еще чего, тоже рандомно).
Другой берёт часть из юзерагента и ip пользователя, добавляет random_int или другую ахинею и тоже хеширует любой рандомной функцией.



--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 2 дня
Карма: 591




Цитата (Arh @ 19.11.2016 - 22:20)
Тут скорее важна длинна токена.

само собой
Цитата (Arh @ 19.11.2016 - 22:20)
Сделай несколько алгоритмов получения токена и рандомно применяй их для генерации.

зачем?

echo bin2hex(openssl_random_pseudo_bytes(32));
и не надо лохматить бабушку user posted image
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 2 дня
Карма: 70




killer8080
Цитата
зачем?

Мы не ищем лёгких путей)
Спасибо, пригодиться)


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 2 дня
Карма: 591




Вообще можно ещё проще, не нужно генерить никаких токенов, просто делаем сессионные куки вечными, и используем session_id в качестве токена. В куку автологина просто пишем user_id, и тоже делаем вечной.

PS вечной конечно условно, нужно просто сделать expire очень, очень большим smile.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса