Оцените логику зищиты от накрутки голосований
Логика действий рейтинга
1. Регистрация пользователя
- генерация кода активации e-mail
- отправка кода активации на e-mail пользователя
- сохранение кода активации в таблице пользователя
2. Активация пользователя по e-mail
- проверка идентичности кода активации
3. Установка COOKIE
- генерация уникального кода для куков
- сохранение сгенерированного кода в таблице пользователя
- создаем куку с именем «user»+id_пользователя, и значением сгенерированного кода
- выдаем пользователю сообщение вида: «Вы сможете проголосовать через сутки»
4. Возвращение пользователя на следующий день
- проверка значения куков на идентичность
4.1. Куки не совпадают
- задаем новые куки, с новым сгенерированным числом
- выдаем сообщение, что «куки были повреждены и т.д. … чтобы проголосовать вернитесь на следующие сутки»
- возвращаемся к пункту 4
4.2. Куки совпадают
- появляется ссылка «Проголосовать»
5. Голосование
- считываем ip пользователя
- проверяем, голосовал ли кто-то сегодня с этого ip
5.1. С этого ip уже голосовали
- Вывод пользователю информации о невозможности голосования, т.к. с данного ip адреса уже голосовали
5.2. С этого ip не голосовали
- обновляем код в куках и записываем его в таблицу пользователя
- прибавляем 1 голос в голосовании
- Выдаем сообщение об успешном голосовании и что проголосовать еще раз будет возможно на следующий день
- возвращаемся к пункту 4
|