title
Description
Body
http://php.net/manual/ru/function.password-hash.php
для новой функции дают пример
|
|
но мне почему-то хочется сделать так:
|
|
что скажете?
Еще меня волнует что писать в cookie, хеш: $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a ?
Как она кодирует данные, пароль в md5 и добавляет соль или пароль без md5 и соль?
Неактивен
http://habrahabr.ru/post/194972/ тут почитай.
md5 не нужен. алгоритм по умолчанию - bcrypt. соль добавляется в результатирующий хэш.
Неактивен
зачем тебе в куках захешированный пароль? там обычно кука с сессией. кража ее, даст проблему только на уровне этой сессии, и если злоумышленник не успел сделать что-то плохое за время ее жизни, то все само собой нормализуется.
получение же хоть какого хэша в куке, по которому происходит авторизация, равносильна открытому паролю. поскольку злоумышленник сможет по нему авторизоваться. поэтому разницы, будет в куке результат md5(password_hash()) или password_hash() никакой нет.
Неактивен
раньше я передавал сессию в строку: писал айди и хеш пароля в $_SESSION и потом делал выборку по айди и сравнивал пароль в переменной сессии с тем, что в бд, если совпадал, то считал пользователя авторизованным.
а как на куках сравнивать?
или тут тоже писать айди и хеш пароля в переменую $_SESSION и в ссылках уже не передавать SID, а в php.ini просто включить "сессион юс куки"
Отредактировано koji (2015.07.23 15:13)
Неактивен
в ссылках никогда сессию вставлять не нужно. отключи эту возможность и считай что у всех пользователей есть есть куки.
в сессию пиши все что хочешь. выборку можешь делать по id пользователя из сессии.
Неактивен
Не совсем понимаю как проверять что он авторизован и давать ему доступ к анкете. Он зашел и его браузер отдал куку с сессией. А как узнать как он в БД записан?
Я так делал:
|
|
Отредактировано koji (2015.07.23 16:17)
Неактивен
Gemorroj, то есть получается так: Куки дают понять скрипту какой файл сессии принадлежит пользователю, который сейчас на сайте. Этот файл сессии, хранящийся в папке tmp, отдает переменную $_SESSION['id'] (ее создаю я, при успешной авторизации пользователя), после мне достаточно запросить в БД существование такого ID (указанного в переменной $_SESSION['id']) и все даем доступ юзеру к данным. Но изменение данных разрешать только по подтверждению с вводом пароля.
Верно понимаю принцип работы? очень важно не запороть...
Неактивен