Голосование, когда Proxy

Стас

Троечник
Голосование, когда Proxy

Наставьте на путь истинный: Сделал голосование. Но поскольку я знаю, что основная аудитория идет через Proxy, то измыслил такой ход: в куках записал отметочку об участии. Далее для подстраховки в базу записал IP, броузер, session_id . Ну и дальнейшее понятно: при попытке отдать голос, смотрим куки, базу и "ругаемся", если уже голосовал. На первый взгляд работает, но это есть правильный способ бороться с proxy? Есть способ лучше?
 

rotoZOOM

ACM maniac
В базу пишется IP proxy ? или IP юзера ?
Если только прокси, то можно еще добавить
$_SERVER["HTTP_X_FORWARDED_FOR"] - это IP внутри сети,
но, правда, не каждый прокси захочет тебе его отдать :)
 

SiMM

Новичок
Имхо (может ошибаюсь) подделать этот заголовок с целью накрутки особого труда не составляет.
 

svetasmirnova

маленький монстрик
А разве можно что-то ещё сделать?
Разве только добавить полей каких-нибудь хитрых? Не авторизацию же с подтверждением по e-mail вводить из-за голосования? Или того стоит?
 

R00miss

Guest
Если действительно захотят накрутить, то здесь и регистрация не поможет :D
 
можно с подтверждением голосования на email
все emails в базу.
с 1 email = 1 голос.
если таков email в базе есть, то отсееваешь...
 

Alexandre

PHPПенсионер
можно с подтверждением голосования на email
все emails в базу.
с 1 email = 1 голос.
и потеряешь таким образом большую половину голосов ;)

-~{}~ 20.12.04 18:05:

учитывай все голоса по ипи,
но если по одному ипи пришло много голосов, а куки закрыты
то помечай ГОЛОС как сомнительный,
а потом проверь сам ипи через whois
если это прокса провайдера интернета, то можно считать,
что все нормально,
если прокси сомнительный, то отсеивай...
;) если стоит того голосование,

но я бы все подозрительные голосования (с закрытыми куками)
и одним и мем же ипи не учитывал
 

R00miss

Guest
Автор оригинала: nofx
можно с подтверждением голосования на email
все emails в базу.
с 1 email = 1 голос.
если таков email в базе есть, то отсееваешь...
А ты думаешь нельзя e-mail новый зарегать?
Тут проблема такая - если юзер не собирается накручивать, то ip проверка пойдет, а если собирается - то здесь только ручками можно справиться (по методу Alexandre).
 
Alexandre
и потеряешь таким образом большую половину голосов
незнаю... что ти имеешь ввиду? по поводу сложности передачи голоса...
те кто хочет проголосовать - проголосуют.

R00miss
А ты думаешь нельзя e-mail новый зарегать?
А не устанешь регистрировать?
 

R00miss

Guest
Ну если действительно хочешь накрутить - не устанешь ;)
 

R00miss

Guest
Опять же все зависит от самого голосования - если это просто "левинький" опрос типа "нравится ли вам наш сайт?" то я не думаю что кто то будет особо напрягаться чтоб обойти защиту повторных голосов... если это конкурс и кто то желает выиграть нечестно - то кроме ручек тебе ниче не поможет.

-~{}~ 20.12.04 11:59:

Автор оригинала: neko
т.е. если я проголосую мне спам придет, правильно?
:D :D
 

Стас

Троечник
Alexandre и всем!
Спасибо за ответы (дальше уже сам буду мозговать)!
 

Alexandre

PHPПенсионер
Опять же все зависит от самого голосования - если это просто "левинький" опрос типа "нравится ли вам наш сайт?"
на такой левый опрос ни кто спамить и не будет...

я так понимаю, что все навороты с проверкой ипи, ипи за прокси и пр...
с выявлением подозрительных готосов и тому подобное в случае если нужно сделать голосования типа: "Мисс интернет" с призом "Путевку на двоих в Неаполь" ;) или автомобиль Honda

PS. это не реклама Хонды - это пример, на его месте мог бы быть и Ford Focus.
 

svirol

Новичок
А как еще дополнительно можно защитить от накручивания?

Всем добрый день!
Мне недавно пришлось столкнутся с накручиванием результатов голосования, и хочется предупредить его в дальнейшем. Беда в том, что большинство пользователей идет через прокси, которые не отдают внутренние номера. Хочется как-то предупредить накручивание, а не потом вычищать - а то после вычищения были проблемы - пользователи ругались - мол сперва показывали одни данные, а потом другие... Куки - не достаточно для отсечения. Email спрашивать нельзя.
Есть ли какие-нибудь стандартные пути решения, или лучше выдумвать свой метод? Например, кодирование каких либо ключей?
 

neko

tеam neko
сначала вычищаешь, потом показываешь
и не надо писать в старые темы
 

rooker

Новичок
Аналогично сталкивался с проблемой, когда делал голосование Мисс-города. Куки можно удалить, учетки можно менять, регистрируя мэйлы сколько угодно, ип тоже не помогает, так как на прокси много народу сидит и хочет голосовать а внутренний не пределяется, убираешь фильтр по ип, начинают с мнимых прокси заходить и голосовать. короче сделал фильтр по ип только нашего региона, чтобы мнимыми не пользовались, а иначе никак. Никто не знает можно ли как-нибудь определись системные параметры компа, например номер мамы или проца и.т.д тогда и проблемы бы небыло...
 

Romantik

TeaM PHPClub
Никто не знает можно ли как-нибудь определись системные параметры компа, например номер мамы или проца и.т.д тогда и проблемы бы небыло...
$_COMPUTER['GET_CPUID']
$_COMPUTER['GET_MBSN']
А если я буду в клубе пересаживаться от компа к компу?
Или мои друзья захотят с моего компа проголосовать?
Голосует ведь человек, а не комп!
Тут нужно более глобальнее:
$_CLIENT['GET_PASSPORT_ID']
 

rooker

Новичок
Автор оригинала: Romantik
$_COMPUTER['GET_CPUID']
$_COMPUTER['GET_MBSN']
А если я буду в клубе пересаживаться от компа к компу?
Или мои друзья захотят с моего компа проголосовать?
Голосует ведь человек, а не комп!
Тут нужно более глобальнее:
$_CLIENT['GET_PASSPORT_ID']
это все равно лучше, чем подобная накрутка, а как иначе. Кстати куки или ип тоже определяют только комп. а если по учеткам делать, то проблема не решается...региструруй скока хочешь и вперед. Кстати спасибо за подсказку насчет $_COMPUTER['GET_CPUID']
$_COMPUTER['GET_MBSN'].
 
Сверху