Как грамотно и с минимальными затратами исключить накрутку "звездочек"
Хочу знать как это делается правильно. Мне нужно избежать наглой накрутки и сэкономить на местохранилище.
У меня есть варианты, но они меня не сильно устраивают:
- сохранять голос в куки (куки можно и не отправлять/почистить)
- сохранять IP каждого проголосовавшего (тут понятно БД лопнет)
- сохранять последние n IP (вариант получше, конечно не спасет от атаки с 2n компьютеров)
- то же, что и предыдущий вариант, только IP хранить в бинарном виде =)
Если есть нечто круче, то пожалуйте.
ЗЫ пока писал последние два варианта придумал. Публикую вопрос в надежде, что кому-то это пригодится и может найдется решение еще лучше.
- Виноват, обсчитался. n+1 хост смогут бесконечно накручивать от MorskoyZmey, 02 сентября 2012 года
Простейшее решение - установка кук и работа с сессиями. Какая связи между тем что тебе нужно "сэкономить на место хранилище" и собственно накруткой - это уму не постижимо. Честно. Что бы не выглядеть глупо советую почитать хоть что нибудь вообще по работе интернета и по способам идентификации пользователей в частности.
Можно конечно и по IP определять пользователей - но это бессмысленно без учета целого ряда других параметров. Ну и надо знать что есть такие системы как тор и ему подобное.
кстати сохранять ИП пользователя - БД вполне выдержит долго. Посещаемость нормального и хорошо раскрученного ресурса - порядка 700-1500 человек в сутки. Т.е. тут даже говорить практически нечего - это не объем даже для MySQL.
Цитата: kot_
кстати сохранять ИП пользователя - БД вполне выдержит долго. Посещаемость нормального и хорошо раскрученного ресурса - порядка 700-1500 человек в сутки. Т.е. тут даже говорить практически нечего - это не объем даже для MySQL.
Благодарю. что утешили. У проекта в перспективе посещаемость выше. Но оценки вряд ли будут ставить так часто.
Цитата: kot_
Какая разница как хранить IP и как это связано вообще с проблемой?
Простейшее решение - установка кук и работа с сессиями. Какая связи между тем что тебе нужно "сэкономить на место хранилище" и собственно накруткой - это уму не постижимо. Честно. Что бы не выглядеть глупо советую почитать хоть что нибудь вообще по работе интернета и по способам идентификации пользователей в частности.
Можно конечно и по IP определять пользователей - но это бессмысленно без учета целого ряда других параметров. Ну и надо знать что есть такие системы как тор и ему подобное.
Простейшее решение - установка кук и работа с сессиями. Какая связи между тем что тебе нужно "сэкономить на место хранилище" и собственно накруткой - это уму не постижимо. Честно. Что бы не выглядеть глупо советую почитать хоть что нибудь вообще по работе интернета и по способам идентификации пользователей в частности.
Можно конечно и по IP определять пользователей - но это бессмысленно без учета целого ряда других параметров. Ну и надо знать что есть такие системы как тор и ему подобное.
Мне не нужно простейшее решение. У меня оно и так есть. Мне нужно лучшее. Но благодарю за напутствие. В инете по такому запросу искать не догадался.
А вот про системы оценок искал долго и безрезультатно
Тем паче это безопаснее в плане целостности данных. Если пострадает таблица с голосами за сутки, никто не умрет, в т.ч. и я.
Хотя число записей может подняться до порядка 20к, но и такой объем не страшен.
Почему я вообще поднял этот вопрос, почему не выбрал такую очевидную работу с сессиями?
Потому выучил, что стартовать сессии для каждого встречного вредно для здоровья хостинг провайдера и следовательно для арендатора (меня).
Платить за VDS пока не хочется.