Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Запрет повторного голосования
Покинул форум
Сообщений всего: 25
Дата рег-ции: Сент. 2010
Помог: 0 раз(а)
Всем доброго времени суток. В проекте возник такой вопрос: Как сделать так, чтобы один человек смог проголосовать лишь раз?
подскажите хотя бы алгоритм действий куда именно копать. Если ставить проверку только на куки, то это обходится простой чисткой. На ип, то не у всех ип белый(внешний). Каким образом можно предотвратить накрутку голосов? Т.е. можно как-то сделать так, чтобы человек поменяв ип и удалив куки не смог голосовать повторно? И как быть с серыми ип? Если например в доме 1ип на несколько компьютеров, то как тогда быть? В общем много вопросов и ни одного ответа.
Заранее всех благодарю.
P.S. Искал тему, но по сути ничего не нашел. Надеюсь на вашу помощь.
Мелкий
Отправлено: 25 Марта, 2011 - 22:03:38
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Если для голосования нужна регистрация - то к регистрации и привязываемся.
Анонимные - ни один способ не даст нормального результата.
----- PostgreSQL DBA
HotBird
Отправлено: 25 Марта, 2011 - 22:38:14
Гость
Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010
Помог: 2 раз(а)
Лучшая защита от накруток это - психологическая. Тоисть если есть возможность то сделайте так чтобы пользователю невыгодно было голосовать несколько раз.
А с технической точки зрения при анонимном головании, нужно определить модель поведения пользователя на вашем сайте. Тость вам нужно знать всё что делает пользователь на вашем сайте, когда, где, зачем, сколь времени, сколько раз и т.д. Тогда вы сможете определить кто из тех что голосуют, обычные пользователи а кто накрутчик и ввести соответствующие ограничения при голосовании. Например обычный человек не нажмёт на кнопку "Голосовать" быстрее чем за 5 секунд после загрузки страницы, ведь ему сначала надо хотябы прочитать вопрос. Но это время у вас (на вашем сайте) может быть совсем другое.
Таким образом установка ограничения на "необычное" поведение пользователя является лучшей технической защитой от накруток которую я знаю.
Ну и конечно используйте айпи, куки, айди сессии для фильтрации накруток.
----- Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев. Качественный хостинг по доступной цене
OrmaJever
Отправлено: 25 Марта, 2011 - 22:57:17
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
HotBird пишет:
Лучшая защита от накруток это - психологическая. Тоисть если есть возможность то сделайте так чтобы пользователю невыгодно было голосовать несколько раз.
интересно это как?)))
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
AdMeen
Отправлено: 25 Марта, 2011 - 23:16:33
Посетитель
Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009 Откуда: Воронеж
Помог: 1 раз(а)
HotBird пишет:
Лучшая защита от накруток это - психологическая. Тоисть если есть возможность то сделайте так чтобы пользователю невыгодно было голосовать несколько раз.
мир так устроен, что если одному будет невыгодно несколько раз голосовать, то остальным будет как раз выгодно
Shtorm_sai
Отправлено: 26 Марта, 2011 - 00:50:17
Частый гость
Покинул форум
Сообщений всего: 135
Дата рег-ции: Янв. 2011 Откуда: Новосибирск, Россия
Помог: 0 раз(а)
Вообще существует id компьютера. Но я так и не нашёл как в php это можно использовать.
AdMeen
Отправлено: 26 Марта, 2011 - 11:54:39
Посетитель
Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009 Откуда: Воронеж
Помог: 1 раз(а)
Shtorm_sai пишет:
Вообще существует id компьютера. Но я так и не нашёл как в php это можно использовать.
ммм? wtf?
tr0y
Отправлено: 26 Марта, 2011 - 12:04:47
Новичок
Покинул форум
Сообщений всего: 25
Дата рег-ции: Сент. 2010
Помог: 0 раз(а)
AdMeen пишет:
Вообще существует id компьютера. Но я так и не нашёл как в php это можно использовать.
ID компьютера? Что это?
А может кто подскажет как организовать проверку с помощью x509 сертификата. Просто искал примеры написания скрипта для генерации ключей, но так и не нашел ничего толкового. Везде с консолью. А как сделать это в php?
HotBird
Отправлено: 26 Марта, 2011 - 20:39:03
Гость
Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010
Помог: 2 раз(а)
OrmaJever пишет:
интересно это как?)))
Всякое бывает. Я это предлагаю как вариант решения задачи. Каждая задача имеет свои особенности, и если вы такого решения ещё не встречали то незначит что его не существует. Пусть автор сам проанализирует есть ли такая возможность.
AdMeen пишет:
мир так устроен, что если одному будет невыгодно несколько раз голосовать, то остальным будет как раз выгодно
А почему не наоборот ?
----- Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев. Качественный хостинг по доступной цене
AdMeen
Отправлено: 27 Марта, 2011 - 00:09:03
Посетитель
Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009 Откуда: Воронеж
Помог: 1 раз(а)
HotBird пишет:
А почему не наоборот ?
Вопросы по устройству мира курирую не я, извините
Shtorm_sai
Отправлено: 27 Марта, 2011 - 06:11:37
Частый гость
Покинул форум
Сообщений всего: 135
Дата рег-ции: Янв. 2011 Откуда: Новосибирск, Россия
Помог: 0 раз(а)
Цитата:
AdMeen пишет:
ммм? wtf?
tr0y пишет:
ID компьютера? Что это?
Hardware id
Я предополгаю что id складывается из запчастей компьютера. Но при идентичных параметрах он тоже разный, видимо складывается из каких то серийных номеров. Есть программа, которая определяет этот id. Мне по работе её выдали. Скорее всего она определяется серийный номер жёсткого диска. У меня 20 компьютеров и у каждого присвоен свой id.
Можно использовать javascript:
Цитата:
Бан по уникальному идентификатору системы
Как работает:
Для идентификации пользователя используется уникальный идентификатор (часто называют ID). Этот идентификатор генерируется на основании различных установок пользователя, таких как номер его материнской платы, разрешение экрана, глубина цвета и т.д. При этом сервер не может напрямую получить эти данные. Потому страницы защищенного форума имеют встроенный JavaScript-код, который исполняется на стороне клиента и получает необходимые данные, генерируя уникальный ID, который отправляется на сервер, где и решается - запретить доступ такому пользователю, или нет.
Такой тип бана реализован на форумах FastBB и в чатах chat.php.spb.ru
Плюсы:
- Тяжело обойти
Минусы:
- Очень сложная реализация
Как обойти:
Надо разобраться в коде скрипта, генерирующего уникальный для вас идентификатор, и определить, какие параметры влияют на этот ID. После чего достаточно просто изменить какой-то параметр так, чтобы это повлияло на выходной ID. Для обхода бана в FastBB, существует программа AntiBan.
(с) Украл с какого то сайта.
Как то так.
HotBird
Отправлено: 27 Марта, 2011 - 13:20:30
Гость
Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010
Помог: 2 раз(а)
AdMeen пишет:
Вопросы по устройству мира курирую не я, извините
Наконец то я встретил человека который знает устройство мира.
----- Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев. Качественный хостинг по доступной цене
EuGen
Отправлено: 27 Марта, 2011 - 14:08:53
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Все, что генерируется на стороне клиента - можно подделать. Равно как и любые ID. Доверять можно только проверкам на сервере.
А вообще, я бы на месте пользователя и сам не стал регистрироваться на форумах, которые собирают подобную информацию. (Я как системный администратор, к примеру, могу запретить обращаться к подобным данным моему браузеру(и кроме того не все используют Windows) но мне проще нажать крестик в окне).
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Viper
Отправлено: 28 Марта, 2011 - 08:35:11
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
tr0y
Мелкий пишет:
Если для голосования нужна регистрация - то к регистрации и привязываемся.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.