Я знаю, что у нас есть некоторые дополнительные преимущества в использовании файлов cookie по IP-адресу, но мой вопрос: почему контейнер не может просто запомнить IP-адрес клиента при идентификации клиента, когда он снова посещает свой сайт? Возможно ли, чтобы контейнер запомнил клиента с помощью IP-адреса?
26
Ответы:
Клиент идентифицируется по cookie, а также по IP-адресу. Тем не менее, IP-адрес не может использоваться исключительно:
Это означает, что IP-адрес не всегда однозначно идентифицирует клиента.
источник
Иногда вы можете использовать IP-адрес.
Если вы находитесь в локальной сети или иным образом имеете дело только с пользователями, у которых IP-адреса статически распределены между отдельными клиентами, использовать этот адрес вполне нормально - иногда предпочтительнее и необходимо.
Но обычно вы не можете.
Если вы используете публичный сайт, большинство IP-адресов, которые попадают на ваш сервер, не являются статичными или выделенными. Большинство из них представляют несколько клиентов: ваш настольный компьютер, ноутбук и мобильный телефон выходят по одному и тому же IP-адресу, когда вы находитесь в домашней сети. И этот IP может измениться - даже в середине сессии.
источник
Еще три причины, чтобы добавить:
источник
Использование IP-адреса в качестве идентификатора, как правило, не рекомендуется, поскольку это не то, для чего предназначен IP-адрес - функционально это простой адрес для маршрутизации от a до b, и он ничего не говорит о том, что находится до a или после b.
Например, один и тот же IP-адрес может совместно использоваться несколькими устройствами с натурой, в большинстве случаев
a) провайдер, динамически назначающий пул адресов своим клиентам, что довольно распространено: покупая такое же количество публичных адресов, вы можете обслуживать больше клиентов (вам нужно достаточно адресов для одновременных пользователей, а не для всех пользователей)
б) частная сеть, обращающаяся к сети с одного адреса, внутренне перенаправляя пакеты на сотни или тысячи машин
источник
Помимо того, что два компьютера могут находиться за NAT и иметь одинаковый IP-адрес, ваша концепция клиента должна быть правильной.
Клиент - это НЕ компьютер, с которым вы общаетесь, а браузер, работающий на этом компьютере.
Ваш браузер не заботится о том, какой IP-адрес у вашего компьютера, ваша операционная система. И поэтому вы не можете полагаться на IP-адреса. Браузер заботится о куки, и они находятся под контролем браузера. Вот почему вы используете куки для сессий.
источник