IP-адреса могут измениться в любое время - идея HTTP заключается в том, что каждый запрос независим.
В мире доступно всего около 3 миллиардов адресов IPv4.Поэтому некоторые интернет-провайдеры (большинство из них на самом деле) назначают IP-адреса динамически для каждого подключающегося клиента, поэтому, когда этот клиент отключается, IP-адрес может быть повторно использован для кого-то другого.
Что касается «сессий» - все зависит от того, как держится государство.Наиболее разумный подход заключается в использовании файла cookie - который позволяет подключаться с произвольного IP-адреса на произвольной среде - в этот момент вам не следует беспокоиться о IP-уровнях HTTP.
Но, опять же, люди известны тем, что делают странные вещи, например, используют IP-адреса для вещей, для которых они никогда не предназначались (в смысле OSI / IETF) - например, для идентификации, аутентификации и т. Д. Это вдвойне плохо, потому чтоодин IP обычно может означать много клиентов - например, все ваше домашнее хозяйство, вероятно, имеет один и тот же публичный IP - что если вы и ваш партнер оба посещаете один и тот же сайт?Как сервер может отличить вас двоих?
@ update
Нет, вы не должны отслеживать изменения IP для «безопасности» - единственное исключение, если вы можете работать с функциями geoIP и хотите отключить/ раздражать пользователей различных служб анонимизации.
По сути, если ваши пользователи подключаются напрямую (а не через прокси / TOR), очень вероятно, что они снова подключатся из близлежащего места.Если ваши пользователи подключаются один раз из США, один раз из России - это может означать, что это два разных человека (один из которых мог украсть учетные данные), или что пользователь использует своего рода анонимайзер.
Если сайт является важной целью (банковское дело, финансы, центральные учетные данные (например, учетная запись Google)) - вы можете выполнить гео-поиск IP-адресов и сравнить их, если расстояние изменилось более чем на 100 км менее чем за часболее чем в два раза - это, вероятно, подозрительно, и вы можете вызвать у пользователя дополнительные учетные данные.
В противном случае вы можете отобразить последние несколько IP-адресов - но это, скорее всего, помеха на торте с небольшой реальной ценностью.
@ update2 Безопасность - сложная тема - всякий раз, когда вы сталкиваетесь с ней, вам нужно ответить на два фундаментальных вопроса:
Безопасность Что : что настолько ценно, что нуждается в защите
- Конфиденциальность пользователей
- Разрешения, предоставленные пользователю
- Активы (физические или виртуальные)
И защита от Что : Какой сценарий атаки вас беспокоит
- Перехват куки (firesheep) (просто используйте SSL и по большей части покончите с этим- нет способа обойти проблему, заключающуюся в том, что HTTP незашифрован и часто по общедоступному радио)
- Получение учетных записей (требуются дополнительные учетные данные для действительно чувствительных вещей)
- Дефектация?