Каков наилучший способ запретить покупателям оценивать продукт более одного раза?

StackOverflow https://stackoverflow.com/questions/2318868

  •  22-09-2019
  •  | 
  •  

Вопрос

Как запретить покупателю оценивать продукт более одного раза?Лучше ли использовать файлы cookie, сохраняющие IP-адрес, или лучше хранить рейтинги пользователей в базе данных?Я использую MySQL и ColdFusion.

Ваше здоровье!

Это было полезно?

Решение

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

Если вы используете файлы cookie, вы, скорее всего, столкнетесь с проблемами с пользователями, у которых они отключены, которые используют несколько браузеров или намеренно удаляют их. Если вы сохраняете IP-адрес, вы потенциально (хотя это довольно необычно) столкнетесь с проблемами с разными пользователями. с одного и того же IP-адреса — одна и та же семья или организация, вероятно, будет иметь относительно мало внешних IP-адресов, в то время как интернет-провайдеры, такие как AOL, обычно будут получать запросы на одну страницу с нескольких IP-адресов.

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

Другие советы

Если вы можете хранить рейтинги в базе данных, сделайте это.Файлы cookie могут быть удалены, а IP-адреса не могут использоваться для надежной идентификации конкретного человека.

Что ж, все ваши рейтинговые процедуры после оценки будут связаны с базой данных, верно?Поскольку вы используете MySQL, каждый рейтинг предположительно будет сохранен в вашей базе данных.

Когда вы оценили продукт, просто дайте пользователю уникальный идентификатор, основанный на его IP-адресе, или, если применимо, имя пользователя.Затем проверьте, не ставил ли этот пользователь уже оценку раньше.

Это довольно просто.

 IF userVoted != true 
         saveVote ( "ipAddress", "User Voted Yes")
    else
         display ( "You have already voted" )
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top