Защита системы опросов PHP / MySQL - PullRequest
2 голосов
/ 26 ноября 2009

Я строю систему опросов PHP / MySQL, и мне было интересно, есть ли более безопасный метод, чем установка cookie + сохранение IP-адреса пользователя и проверка их позже.

Спасибо.

Ответы [ 5 ]

2 голосов
/ 26 ноября 2009

Проблема с системами опросов заключается в том, что вы хотите быть уверены, что пользователи могут голосовать только один раз. Эта проблема не имеет решения, если вы не запросите личную информацию, которую невозможно подделать.

1 голос
/ 25 октября 2012

Я согласен с предыдущим, что наиболее безопасным является хранение информации о голосовании и учетной записи пользователя (идентификаторах).

Но , если вам нужно простое голосование без регистрации, единственный способ:

  • На стороне клиента используйте что-то более настойчивое (посмотрите на https://github.com/samyk/evercookie)
  • На стороне сервера - хранить всю возможную информацию о голосовании гостевого пользователя (ОС, браузер и т. Д.)
  • Выполнить своего рода простую эвристику или условия для этих данных (если os, IP и какой-либо параметр совпадают, это может быть тот же пользователь)
  • Не разрешать голосование в течение короткого времени (если ОС, IP и метрика совпадают, а время меньше, чем X сек.)
  • Регистрация максимальной сортировки информации и адаптация вашей системы
  • Правильно проинформируйте пользователя о происходящем, т.е.
  • Отказаться от странных голосов (без ОС и т. Д.)
  • Используйте индексы MySQL там, где это необходимо!
  • Вы также можете хешировать некоторую часть информации и искать только те же хеши (IP, ОС, браузер)
1 голос
/ 26 ноября 2009

Да, пользователь / пароль - единственный путь. Если вы хотите сохранить простоту при использовании аутентификации пользователя, используйте Facebook Connect. В настоящее время почти у всех есть FB, и через несколько минут вы можете запустить его.

0 голосов
/ 26 ноября 2009

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

0 голосов
/ 26 ноября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...