2015-04-15 14 views
1

Я читал около session_regenerate_id(), который предотвращает фиксацию сеанса.Как я могу защитить свои сеансы PHP?

Если кто-то делает человека в средней атаке и украл сгенерированный идентификатор, войдите в систему с этим сеансом.

Тогда настоящий пользователь выйдет из системы, и человек, совершивший атаку, получит доступ к учетной записи пользователя.

Как я могу предотвратить это?

+1

@Scopey является правильным. Только с помощью HTTP-соединения. – YyYo

ответ

6

Самая эффективная защита против мужчины в средних атаках - HTTPS. Вы можете настроить параметры cookie сеанса только для передачи cookie через безопасные соединения с помощью session_set_cookie_params (docs).

Поскольку только клиент/сервер знает, как шифровать/дешифровать данные запроса, человеку в средних атаках гораздо сложнее.

В противном случае, это очень трудно осуществить защиту против человека, в середине на небезопасные соединения

1

анти меры хакерские

Я полностью согласен с scopey, но было бы пойти еще дальше и удалить старый файл сессии используя session_regenerate_id(true);, поскольку это сообщает php об удалении ассоциативных (s) файлов для этого сеанса на диске. Зачем хранить файлы на сервере, которые больше не нужны?

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

вывод

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

Сколько потребуется вашей безопасности зависит от цели приложения. Когда дело доходит до банковских данных, например. вам лучше реализовать больше анти-хакерских мер, чем вы считаете нужным. Простой блог, где зарегистрированные пользователи могут комментировать только вам не нужно много анти-хакерских мер.

иметь в виду

Чем больше обезопасит вас приложение является менее удобным для пользователя это.

Смежные вопросы