Определение IP

Pegiy

Guest
Определение IP

Здесь на форуме предлагали такую конструкцию для определения IP:
PHP:
if (getenv("HTTP_CLIENT_IP")) 
    $ip = getenv("HTTP_CLIENT_IP"); 
  elseif(getenv("HTTP_X_FORWARDED_FOR")) 
    $ip = getenv("HTTP_X_FORWARDED_FOR"); 
  else 
    $ip = getenv("REMOTE_ADDR");
Какой в ней смысл, если для большого количества пользователей, выходящих через корпоратиный прокси, IP определится как 192.168.xxx.xxx ?
 

Crazy

Developer
Этот текст -- попытка разрешить неразрешимую проблему. :) Меня давно умиляет этот код. Особенно в свете того, что на самом деле хранится в HTTP_X_FORWARDED_FOR. :)
 

Pegiy

Guest
Т.е. для задач типа голосования, статистики вполне достаточно REMOTE_ADDR? ( в комбинации с куками)
 

Crazy

Developer
Для "задач тип голосования" достаточно кук. Ибо использование только REMOTE_ADDR отсекает кучу людей, сидящих за проксями, а в сочетании с HTTP_X_FORWARDED_FOR вообще открывает способ накрутки любознательны кулхацкером.
 

ObinoS

Guest
А с помощью кук накрутить сложнее, чем с помощью HTTP_X_FORWARDED_FOR?
 

Crazy

Developer
Если использование кук грамотное (с отсечением тех, у кого не поддерживаются куки), то через HTTP_X_FORWARDED_FOR получается проще, чем реализовывать поддержку кук. Если робот накрутки пишется поверх Puffin или WebL, то без разницы -- там куки уже поддерживаются.
 

ObinoS

Guest
Стоп... я не совсем понял, что мешает мне поддержать куку, проголосовать, затем удалить ее и, сделав вид, что я не голосовал, повторить процесс?
 

ObinoS

Guest
Я лишь описал общую схему, она подходит как для браузеров, так и для других систем ;)
 

inTox

вёбных дел мастер
по-моему уже много раз говорено, что идентификация юзера только путем учета и анализа переменных среды - дело безнадежное в абсолютном смысле. Поэтому, как показывает практика (моя, опять же, практика), весь комплекс мероприятий реализуется по схеме.
1. Подумать на тему "А насколько достоверно я хочу идентифицировать зверя"
2. Выбрать соответствующие ср-ва, механизмы или их комбинации в зависимости от пункта номер раз (благо все они достаточно подробно описаны, и секрета не представляют ), хотя в конечном итоге все упирается в HTTP, который, позволю себе повториться, не располагает абсолютными средствами аутентификации изначально. Св-во среды, если хотите...

А IP (неважно откуда его взяли) - лишь один из параметров, который можно использовать. С тем же успехом используются и куки. подделать и то и другое, в случае надобности, сведущих людей не затруднит.
 

Crazy

Developer
Автор оригинала: ObinoS
Я лишь описал общую схему, она подходит как для браузеров, так и для других систем ;)
Накрутку браузером откидываем как не перспективную. Остается накрутка роботом. Чтобы накручивать правильный скрипт с куковой защитой нужно уметь принимать и передавать куки. По-дефолту это умеют далеко не все инструменты. Те же, что это умеют, не относятся к распространенным.

Если защита сделана по IP через HTTP_X_FORWARDED_FOR, то накручивается любым инструментом -- лишь бы он POST-запросы умел отправлять.
 

ObinoS

Guest
Автор оригинала: inTox
С тем же успехом используются и куки. подделать и то и другое, в случае надобности, сведущих людей не затруднит.
В каком-то смысле, я к тому и клонил, что накрутить результаты в принципе возможно, и ни проверка по ай-пи, ни проверка кук (какой-бы извращенной она не была) не может дать абсолютной гарантии.
 

ObinoS

Guest
Автор оригинала: Crazy
Чтобы накручивать правильный скрипт с куковой защитой нужно уметь принимать и передавать куки. По-дефолту это умеют далеко не все инструменты.
Так что, я не программист что ли? =) Написать такой инструмент проблем не составляет.
 

Crazy

Developer
Напоминаю тебе твой вопрос: "А с помощью кук накрутить сложнее, чем с помощью HTTP_X_FORWARDED_FOR?" Сложность и принципиальная возможность -- не одно и то же.
 

inTox

вёбных дел мастер
Когда встала у нас в конторе подобная задача, мы с народом, раскинув, пришли к выводу, что, например, голосование должно быть премодерируемым, результаты - за предыдущий день. Вести статистику по маске голосования (там 7 пунхтов было) и пр. Короче заканчиваться должно человеком, пардон... Но имеет смысл в некоторых ситуациях проанализировать поведение человека и алгоритмизировать его. С поправками и погрешностями. Конешно это сложно, но вполне приемлемый метод на серьезных проектах. Можно еще потверждение регистрации по мылу включить. Отсекать по списку левых проксей и бесплатных майл-серверов.
 

Crazy

Developer
Эта схема уже обсуждалась и не раз. :) Общая идея --при голосовании фиксировать как можно больше параметров и по окончании голосования фильтровать накрутчиков.

Самая сильная сторона -- отсутствие обратной связи у накрутчиков.
 

fbi-manowar

Guest
а у меня в локалке не определяеться этой ф-цией ip,

выдает или мой (192.168.10.8) или 192.168.10.1 , что делать прикажете?
 
Сверху