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 :: Запрет повторного голосования

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как запретить голосовать второй раз?
tr0y
Отправлено: 25 Марта, 2011 - 21:57:03
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Всем доброго времени суток. В проекте возник такой вопрос: Как сделать так, чтобы один человек смог проголосовать лишь раз?
подскажите хотя бы алгоритм действий куда именно копать. Если ставить проверку только на куки, то это обходится простой чисткой. На ип, то не у всех ип белый(внешний). Каким образом можно предотвратить накрутку голосов? Т.е. можно как-то сделать так, чтобы человек поменяв ип и удалив куки не смог голосовать повторно? И как быть с серыми ип? Если например в доме 1ип на несколько компьютеров, то как тогда быть? В общем много вопросов и ни одного ответа.
Заранее всех благодарю.

P.S. Искал тему, но по сути ничего не нашел. Надеюсь на вашу помощь.
 
 Top
Мелкий Супермодератор
Отправлено: 25 Марта, 2011 - 22:03:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Если для голосования нужна регистрация - то к регистрации и привязываемся.
Анонимные - ни один способ не даст нормального результата.


-----
PostgreSQL DBA
 
 Top
HotBird
Отправлено: 25 Марта, 2011 - 22:38:14
Post Id



Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010  


Помог: 2 раз(а)




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

А с технической точки зрения при анонимном головании, нужно определить модель поведения пользователя на вашем сайте. Тость вам нужно знать всё что делает пользователь на вашем сайте, когда, где, зачем, сколь времени, сколько раз и т.д. Тогда вы сможете определить кто из тех что голосуют, обычные пользователи а кто накрутчик и ввести соответствующие ограничения при голосовании. Например обычный человек не нажмёт на кнопку "Голосовать" быстрее чем за 5 секунд после загрузки страницы, ведь ему сначала надо хотябы прочитать вопрос. Но это время у вас (на вашем сайте) может быть совсем другое.
Таким образом установка ограничения на "необычное" поведение пользователя является лучшей технической защитой от накруток которую я знаю.
Ну и конечно используйте айпи, куки, айди сессии для фильтрации накруток.


-----
Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев.
Качественный хостинг по доступной цене
 
 Top
OrmaJever
Отправлено: 25 Марта, 2011 - 22:57:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




HotBird пишет:
Лучшая защита от накруток это - психологическая. Тоисть если есть возможность то сделайте так чтобы пользователю невыгодно было голосовать несколько раз.

интересно это как?)))


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
AdMeen
Отправлено: 25 Марта, 2011 - 23:16:33
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




HotBird пишет:
Лучшая защита от накруток это - психологическая. Тоисть если есть возможность то сделайте так чтобы пользователю невыгодно было голосовать несколько раз.



мир так устроен, что если одному будет невыгодно несколько раз голосовать, то остальным будет как раз выгодно Подмигивание
 
 Top
Shtorm_sai
Отправлено: 26 Марта, 2011 - 00:50:17
Post Id



Частый гость


Покинул форум
Сообщений всего: 135
Дата рег-ции: Янв. 2011  
Откуда: Новосибирск, Россия


Помог: 0 раз(а)




Вообще существует id компьютера. Но я так и не нашёл как в php это можно использовать.
 
 Top
AdMeen
Отправлено: 26 Марта, 2011 - 11:54:39
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




Shtorm_sai пишет:
Вообще существует id компьютера. Но я так и не нашёл как в php это можно использовать.


ммм? wtf?
 
 Top
tr0y
Отправлено: 26 Марта, 2011 - 12:04:47
Post Id


Новичок


Покинул форум
Сообщений всего: 25
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




AdMeen пишет:
Вообще существует id компьютера. Но я так и не нашёл как в php это можно использовать.

ID компьютера? Что это?

А может кто подскажет как организовать проверку с помощью x509 сертификата. Просто искал примеры написания скрипта для генерации ключей, но так и не нашел ничего толкового. Везде с консолью. А как сделать это в php?
 
 Top
HotBird
Отправлено: 26 Марта, 2011 - 20:39:03
Post Id



Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010  


Помог: 2 раз(а)




OrmaJever пишет:
интересно это как?)))

Всякое бывает. Я это предлагаю как вариант решения задачи. Каждая задача имеет свои особенности, и если вы такого решения ещё не встречали то незначит что его не существует. Пусть автор сам проанализирует есть ли такая возможность.

AdMeen пишет:
мир так устроен, что если одному будет невыгодно несколько раз голосовать, то остальным будет как раз выгодно

А почему не наоборот ? Подмигивание


-----
Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев.
Качественный хостинг по доступной цене
 
 Top
AdMeen
Отправлено: 27 Марта, 2011 - 00:09:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




HotBird пишет:

А почему не наоборот ? Подмигивание


Вопросы по устройству мира курирую не я, извините Подмигивание
 
 Top
Shtorm_sai
Отправлено: 27 Марта, 2011 - 06:11:37
Post Id



Частый гость


Покинул форум
Сообщений всего: 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.
(с) Украл с какого то сайта.

Как то так.
 
 Top
HotBird
Отправлено: 27 Марта, 2011 - 13:20:30
Post Id



Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010  


Помог: 2 раз(а)





AdMeen пишет:
Вопросы по устройству мира курирую не я, извините

Наконец то я встретил человека который знает устройство мира.


-----
Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев.
Качественный хостинг по доступной цене
 
 Top
EuGen Администратор
Отправлено: 27 Марта, 2011 - 14:08:53
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Все, что генерируется на стороне клиента - можно подделать. Равно как и любые ID. Доверять можно только проверкам на сервере.
А вообще, я бы на месте пользователя и сам не стал регистрироваться на форумах, которые собирают подобную информацию. (Я как системный администратор, к примеру, могу запретить обращаться к подобным данным моему браузеру(и кроме того не все используют Windows) но мне проще нажать крестик в окне).


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Viper
Отправлено: 28 Марта, 2011 - 08:35:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




tr0y
Мелкий пишет:
Если для голосования нужна регистрация - то к регистрации и привязываемся.


единственный верный ответ.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
phpcoder
Отправлено: 31 Марта, 2011 - 19:55:51
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Viper пишет:
tr0y
Мелкий пишет:
Если для голосования нужна регистрация - то к регистрации и привязываемся.


единственный верный ответ.


А регистрацию пользователей максимально ограничить. Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB