Безопасная аутентификация в codeigniter - PullRequest
2 голосов
/ 08 августа 2011

Я пытаюсь свернуть свою собственную систему аутентификации в codeigniter, и наткнулся на пару контрольно-пропускных пунктов.

Если у меня установлены сеансы для использования базы данных, сохраняется ли userdata только в базе данных или в файле cookie? Я хотел бы сохранить в нем хешированный пароль, чтобы проверять каждую загрузку страницы, что пользователь действительно вошел в систему с правильным проходом, и я не хочу, чтобы хеш был доступен на стороне клиента.

Как я могу предотвратить кражу сессий? Я включил проверку IP и имени хоста, это автоматически или я должен сам выполнить проверки? Будет ли этого достаточно, чтобы люди не могли украсть данные о сессиях?

1 Ответ

3 голосов
/ 08 августа 2011

Userdata можно сохранить в сеансе.Если у вас настроены сеансы для использования базы данных, единственным файлом cookie будет файл cookie ci_session или что-то еще, что вы указали, и имя cookie + ip / hostname будет сопоставлено с таблицей сеансов базы данных.

Хранение хешированного пароля в-сессия будет полностью безопасной, в вашей собственной базе данных.Нет проблем.

Для предотвращения кражи сеансов следует использовать совпадение ip или hostname (либо при каждой загрузке страницы, либо чуть реже, у некоторых людей есть динамические IP-адреса), не уверен в автоматической проверке, новсегда хорошо, если вы проверяете сами.

Предотвращение кражи данных сеанса во многом похоже на это.Если кто-то не перехватит ваш cookie и волшебным образом не сообщит о ложном IP (или, ну, в общем, поделится IP / именем хоста с целью), этого достаточно.Вы также можете сделать еще одну проверку, сопоставив user_agent.Это вам придется делать вручную.

Это почти все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...