Меня попросили написать код для отслеживания IP-адресов посетителей одного из онлайн-приложений моей компании в .NET.На самом деле это второй, который я сделал, сделав еще один сайт в конце прошлого года.Я заметил тогда и снова сейчас, что иногда я получаю один и тот же IP-адрес, потому что я знаю, что это еще одна коробка ... иногда коллега, а иногда и коробка, даже не в этом здании.Код довольно прост, вот как я получаю адрес:
Dim IPAddress As String = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If IPAddress = "" Then IPAddress = Request.ServerVariables("REMOTE_ADDR")
Я записываю результаты в базу данных при входе пользователей. Мое тестирование этим утром на моем блоке разработки, конечно, дало 127.0.0.1..... хорошо, как я и ожидал.Когда я развернул код на нашем промежуточном сервере, я получил свой фактический IP-адрес (я видел его достаточно, чтобы узнать его, когда увижу).Все хорошо ..... но затем сотрудник нашей группы QA пошел на некоторое тестирование, и МОЙ IP-адрес был зарегистрирован в базе данных.Я с уверенностью знаю, что мы не разделяем этот адрес.
Я также помню, что видел это во время моего первого развертывания, когда транзакции от клиентов в различных штатах США регистрировались с моим IP-адресом.Я не вижу вещей ..... может кто-нибудь сказать мне, как это происходит?Это похоже на то, что заголовок транзакции кэшируется, а последующие вызовы не извлекают информацию о новом пользователе.
Есть идеи?Спасибо!