如何"dont vote twice"机制
how to "dont vote twice" mechanism
我正在考虑创建一个投票应用程序。大意是
- 浏览图库
- 一张很棒的照片引起了你的注意
- 点击下方的投票按钮
- 代码魔术发生了
- 投票已计算
- 在特定日期,投票按钮变为非活动状态并且应用程序计数
票数
这将是一个网络应用程序,这意味着 html5-css3-express.js-redis 框架,或类似的东西。
如何确保用户不会为同一张图片投票两次?通过让他注册?只是一个投票应用程序的巨大过程,你不觉得吗?另外,我想我还需要一个 CAPTCHA
东西来避免不需要的大量注册。
但是如果我使用 HTML5 本地存储 API 的 coockies,是什么阻止同一个用户清除 his/her coockies 并一次又一次地为同一张照片投票?
最好的方法是什么?
非常感谢
现在你不需要构建登录系统,因为你可以使用任何开放 ID 登录 authentication.E。g 提供商是 facebook、google、yahoo 和 twitter。
最安全的方法是使用帐户来跟踪谁投票了。帐户很容易在您的应用程序中实现,如果您使用像 Passport.js 这样的服务,您甚至不需要自己保存帐户数据。您可能已经设置了一个数据库,这也使得保存帐户数据变得容易。
另一种方法是跟踪 IP 地址,但这有一些问题(例如,如果用户使用代理)。此外,一个 IP 地址将覆盖网络上的所有客户端,这意味着如果一个人对一张图片投票,其他人将无法投票。
简单的方法可能是使用 npm 包 mongoose-voting,其中已经实现了所有投票逻辑。
还有跟踪用户的要求,所以如果您不想让用户注册,您可以使用访问者的IP地址作为用户ID自动创建用户。
操纵投票结果的方法有很多种,但就你描述的水平而言,大部分都是不必要的。
我正在考虑创建一个投票应用程序。大意是
- 浏览图库
- 一张很棒的照片引起了你的注意
- 点击下方的投票按钮
- 代码魔术发生了
- 投票已计算
- 在特定日期,投票按钮变为非活动状态并且应用程序计数 票数
这将是一个网络应用程序,这意味着 html5-css3-express.js-redis 框架,或类似的东西。
如何确保用户不会为同一张图片投票两次?通过让他注册?只是一个投票应用程序的巨大过程,你不觉得吗?另外,我想我还需要一个 CAPTCHA
东西来避免不需要的大量注册。
但是如果我使用 HTML5 本地存储 API 的 coockies,是什么阻止同一个用户清除 his/her coockies 并一次又一次地为同一张照片投票?
最好的方法是什么?
非常感谢
现在你不需要构建登录系统,因为你可以使用任何开放 ID 登录 authentication.E。g 提供商是 facebook、google、yahoo 和 twitter。
最安全的方法是使用帐户来跟踪谁投票了。帐户很容易在您的应用程序中实现,如果您使用像 Passport.js 这样的服务,您甚至不需要自己保存帐户数据。您可能已经设置了一个数据库,这也使得保存帐户数据变得容易。
另一种方法是跟踪 IP 地址,但这有一些问题(例如,如果用户使用代理)。此外,一个 IP 地址将覆盖网络上的所有客户端,这意味着如果一个人对一张图片投票,其他人将无法投票。
简单的方法可能是使用 npm 包 mongoose-voting,其中已经实现了所有投票逻辑。
还有跟踪用户的要求,所以如果您不想让用户注册,您可以使用访问者的IP地址作为用户ID自动创建用户。
操纵投票结果的方法有很多种,但就你描述的水平而言,大部分都是不必要的。