Куки на машине пользователя

371
30 декабря 2016, 13:42

Вопрос в следующем, допустим я делаю авторизацию пользователя на сайте и в случае успешной авторизации устанавливаю куки (setcookie('auth','yes',time()+3600);). данная кука например открывает доступ к закрытой части сайта. Так вот, можно ли с машины пользователя самому создать куки и обойти это ограничение?

Answer 1

Можно создать самому, можно перенести с другой машины, можно прицепить к HTTP трафику.

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

Если сессии чем-то не устраивают, то можно реализовать аналогичный механизм

  1. Генерируем некоторое случайное число
  2. Записываем его в базу для этого пользователя. Там же в базу записываем время логина
  3. Отсылаем пользователю две куки с идентификатором (как вариант - логином) пользователя и сгенерированное число.

При подключении пользователя проверяем

  1. Есть ли нужные куки
  2. Совпадают ли числа присланные пользователем и записанное в базе
  3. Не истекло ли время логина.

Если все ОК - то пользователя пускаем, время логина и куки обновляем. MD5 хеши добавить по вкусу

READ ALSO
Странная ошибка в коде [требует правки]

Странная ошибка в коде [требует правки]

Подскажите пожалуйста, выдает ошибку в строке 3

394
Помогите, пожалуйста [требует правки]

Помогите, пожалуйста [требует правки]

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

474
Можно ли установить сайт на YII2 на hostland.ru [требует правки]

Можно ли установить сайт на YII2 на hostland.ru [требует правки]

У меня есть готовый сайт на YII2 со следующей структурой

611