Yii использует базу данных вместо куки - PullRequest
0 голосов
/ 04 марта 2012

Привет, ребята. Я новичок в фреймворке Yii, и в первую очередь я начинаю создавать систему регистрации / входа пользователя.Я действительно хочу, чтобы моя система была безопасной, но я обнаружил, что использование файлов cookie - это не самый безопасный метод.Итак, у меня есть некоторые предложения, которые могут быть интересными, пожалуйста, помните, что я не профессиональный программист PHP, поэтому эти предложения могут содержать некоторые ошибки, но я думаю, что мы их исправим.

Как я понимаю, когда кто-то посещает сайт YiiПрежде всего, Yii пытается получить cookie и проверяет, вошел ли он в систему. Так почему же мы не можем использовать базу данных вместо cookie?Я имею в виду, что у нас могут быть следующие поля в базе данных:

ip
remember_me
latest_visit

Итак, почему мы не можем позволить Yii проверять базу данных вместо файлов cookie?Я имею в виду, что позволить Yii проверить, если guest ip == ip из db и Remember_me == true, а latest_visit не раньше 7 дней.Таким образом, вместо проверки файлов cookie с использованием этого метода будет лучше.И после этого позвольте Yii делать все, что он делает после проверки файлов cookie.

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

Так как это сделать?Как вы думаете?как заставить Yii выполнить задачу?

1 Ответ

3 голосов
/ 04 марта 2012

IP-адреса не идентифицируют вещи надежно; может быть задействован NAT (трансляция сетевых адресов), так что кажется, что несколько машин приходят с одного и того же адреса, не говоря уже о том, что срок аренды DHCP истекает, и возможность того, что разные люди используют одну машину (дети используют машину отца?) и т. д. , Таким образом, с учетом предоставленной информации у вас не будет никаких доказательств того, что браузер даже посещал ваш сайт раньше. Конечно, некоторые люди используют несколько браузеров с одной машины (например, Firefox, Chrome, Safari); куки для одного, вероятно, не будут доступны другим.

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

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