login
, password
, cookie
Пользователь переходит на страницу логина
-> вводит данные, я проверяю, есть ли они в базе
-> если нашел, беру куку (рандомная строка из бд) и сохраняю в браузер.сессии не удобна тем, что удаляется после закрытия
Если много пользователей, будет много сессий на сервере
И что?
А что мешает настроить время жизни сессии как вам надо?
рандомная сгенерированная строка.
md5(ip + login + password + salt)
в чем преимущество хранения данных пользователя на сервере, а не у пользователя в браузере?
что мешает ничего не делать и пользоваться куками?
А в целом безопасность такого механизма норм?Ровно такая-же как и при использовании сессий, за исключением механизма генерации "рандомной" строки, которая достаточно хорошо реализована в механизме сессий, а в вашем случае о нем вообще ничего не известно. При равном уровне исполнения сессия выигрывает только удобством пользования, но вы тоже можете обернуть свой костылик в какую-то оболочку и воткнуть в базовый контроллер, получив доступ к похожему механизму. Собственно в большинстве популярных фреймворков есть стандартные реализации сессии не через сессии пхп.
если и воспользоваться простым мд5 хешем, то надо хотя бы так, чтобы другой не воспользовался ключем
Внимание
Не рекомендуется использовать эту функцию для обеспечения безопасности хранения паролей ввиду высокой скорости работы данного алгоритма
вопрос по сути, ответы тоже прошу по сути
беру куку (рандомная строка из бд) и сохраняю в браузер.
Мы же не пароль хешируем.
беру куку (рандомная строка из бд)
А вот этого мы утверждать не можем, пока не увидим механизм/код создания вот этогоВообще никак не связано. ТС вообще ничего не говорил про мд5, про мд5 завел разговор edward_freedom, и при этом мысль его была где-то рядом с правильной, но реализация на троечку с минусом, хотя скорее всего навеяна была именно созданием хешей пароля в древних реализациях авторизаций на пхп. В данном случае строка для генерации хеша как раз должна сдержать минимальное количество информации из пользовательских данных (а желательно не иметь их в составе вовсе).
ужасе, который выше написал edward_freedom, и который к рандомности вообще никакого отношения не имеет.
Как минимум что это безопаснее!
Внимание
Не рекомендуется использовать эту функцию для обеспечения безопасности хранения паролей ввиду высокой скорости работы данного алгоритма
идентификатор сессии опять же хранится в куках,
что мешает производить небезопасные манипуляции с этой возможностью?
можно добавить время авторизации в параметры мд5 и будет тебе рандомность
Вот именно, что только идентификатор! А данные сессии на сервере...
md5($dbUser["id"] . time() . rand()); //доволен пхп фанат?