如何防止客户对产品进行多次评分?最好使用存储 IP 地址的 cookie,还是最好将用户评分存储在数据库中?我正在使用 MySQL 和 ColdFusion。
干杯!
如果您有用户帐户,请将您的评分与这些帐户相关联。只要一个用户只有一个帐户,就可以完成工作。
如果您使用 cookie,那么您可能会遇到禁用它们的用户、使用多个浏览器或故意删除它们的用户的问题,如果您存储 IP 地址,您可能会(尽管这很不寻常)遇到不同用户的问题来自同一个 IP 地址——同一个家庭或组织可能拥有相对较少的外部 IP 地址,而 AOL 等 ISP 通常会请求来自多个 IP 的单个页面。
总的来说,我的感觉是,如果用户足够关心对产品进行评分,他们可能足够关心注册用户帐户。您仍然可以密切关注 IP 数据和其他浏览器信息,以防发生任何可疑的事情,但这是确保您的用户至少足够不同以拥有不同的电子邮件地址的最有效方法。它不会抓住任何想要认真操纵你的评级的人,但实际上,如果你遇到这样的人,无论你做什么,你都很难阻止他们,除非你有指示性的使用模式,否则你很难知道什么寻找。在这种情况下,确保无论您做什么,仔细记录日志都很重要......
如果您可以将评级存储在数据库中,那就去吧。可以删除 Cookie,并且 IP 地址不能用于可靠地识别特定的人。
好吧,您的所有评级程序一旦评级都会与数据库通信,对吗?由于您使用的是 mySQL,因此每个评分可能都会保存在您的数据库中。
当您对产品进行评级时,只需根据用户的 IP 或用户名(如果适用)为用户提供一个唯一 ID。然后检查该用户之前是否已经评价过一次。
它很简单。
IF userVoted != true
saveVote ( "ipAddress", "User Voted Yes")
else
display ( "You have already voted" )