2009-08-23 3 views
2

Я написал свою собственную модель для проверки подлинности, но мне просто интересно, как я буду реализовывать функцию «Запомнить меня»?CodeIgniter Auth System

Чтобы войти пользователь я просто установить следующую UserData: UserID (INT), LoggedIn (Ьоо)

ответ

5

A 'Запомнить меня' осуществляется через куки.

Ваше печенье должно быть в форме 'RememberMe = идент: [что-то-подтверждении аутентификации]

Так трудная часть, чтобы получить что-то ", подтверждающее аутентификацию. Это лучше всего реализуется как:

sha256(salt + userid) 

«соль» представляет собой серию случайных символов, полученных от Пользователя и находится рядом с ним, в базе данных.

Затем, вы можете подтвердить, что когда существует (у вас есть данные, чтобы вычислить этот хэш себя на сервере, так что вы делаете это) вы отмечаете пользователя как войти в систему.

Для получения дополнительной выгоды безопасности, вам может также зашифровать этот компонент файла cookie с помощью aes256 и дешифровать, прежде чем пытаться проверить хэш.

+0

Это в значительной степени то, что у меня было в голове, минус часть «что-то подтверждающая-аутентификация». Спасибо за вашу помощь :) – amr

0

Зашифруйте идентификатор пользователя и зарегистрированное состояние и сохраните их в файле cookie.