如何在没有认证的情况下在网站上投票一次
本文关键字:一次 网站 认证 情况下 | 更新日期: 2023-09-27 18:09:13
我希望人们能够在我的网站上投票,但我不喜欢强制注册的网站这样做。所以我的问题是,是否有办法投票赞成或反对,将选票保存在数据库中,并确保每个人只能投票一次?不使用cookie,我觉得清除cookie并再次投票太容易了。
电子邮件"captcha"总是很好-为了投票,用户必须提供电子邮件地址,您发送到该电子邮件的链接,并计算投票只有当用户点击该链接。
可以将它们的ip地址存储在数据库中。但这意味着共享一个互联网连接的人一旦投了票就不能投票了。而且动态IP地址的人可以多次投票。
所以除了让它们注册之外,没有什么能很好地工作。但你可以简化登录过程,例如facebook SDK for JavaScript (https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.0)。你还可以同时使用许多其他网站(Facebook、Google等)。这样他们就不必在你的网站上手动注册了。缺点是你需要他们有一个Facebook账户。有些人也不喜欢将他们的Facebook账户与第三方网站绑定(例如我)。
您可以间接收集已安装的Operating System
, IP address
, Browser
, Pligins
的详细信息,该会话中的所有Version Numbers
并生成Hash
。
这样可以在网站上实现合理的vote ONCE
,而不需要认证。
您的选择如下:
- 读取其IP地址 <
- 饼干/gh>
- 用户代理
然而,目前最好的选择是登录解决方案。
没有cookies
的唯一方法是根据它们的IP adress
将值存储在数据库中以进行识别。
但是它也不能完美地工作,因为
1)用户可以使用代理
2)共享同一Internet连接的人具有相同的IP地址。
您的选项可以是:
1-保存IP(注意IP是在DHCP,拨号连接和代理上更改的)
2- OpenID,如你在stackoverflow.com看到的(注意,用户可以在雅虎,facebook,…上使用多个id)
3-发送一个链接到电子邮件地址(注意,用户可以使用多个电子邮件)
4-使用cookie(注意用户可以删除cookie)