我正在创建一个系统,我试图确保用户不能多次注册,即使他使用不同的电子邮件地址或他更改其IP地址,那么什么策略我应该使用吗?我可以用cookies做到吗?确保用户不能在系统上注册,即使使用不同的电子邮件地址
回答
没有办法阻止用户多次注册它们。
用户可以有:
动态IP
清除缓存
克隆MAC地址
使用不同的电子邮件帐户
任何有理智的用户将购买额外的硬件像生物认证
用户可以有多个信用卡和地址
最好的情况下,如果禁止使用多个账户,在TOS/AUP和删除/禁止这些帐户。
用户试图绕过一个基于cookie的系统只会清除他的cookie(或者首先不接受他们)。现实生活中的例子纽约时报试图通过设置cookie来限制每月20篇文章。虽然这阻止了一些人阅读超过20篇文章,但很多人认为他们可以删除他们的cookies并获得20多篇文章(或使用不同的浏览器)。
您也不能使用IP地址。有时用户会经常得到新的IP地址。其他时候,单个IP地址可能代表许多不同的用户(如果他们在代理服务器后面)。
最接近满足您要求的是使用设备指纹识别。设备指纹识别通过考虑各种因素(IP地址,用户代理,安装在浏览器中的字体,安装在浏览器中的插件等)进行工作。退房
得到它是如何工作的想法。
有几家公司提供该技术。 Google“设备指纹识别”获取当前列表。根据您在Panopticlick上看到的内容,如果您的要求是确定谁可能拥有多个帐户,比Cookie或IP可以单独告诉你更好,那么根据您在Panopticlick看到的内容来推出自己的基本设备指纹也并不难。这些商业产品投入了相当多的工程努力,从“坚实的想法”转变为“非常坚实的想法”。
您需要将用户的注册绑定到不能复制或伪造的内容。这里有一些想法:
一些公司已与手机号码做到了这一点,该理论下,大多数人有一个电话,但不是两个或三个,或者,至少,这是人们很难平凡获得新号码。因此,请让人们给你一个电话号码,向他们发送带有密码的短信,然后将该电话号码永久绑定到他们的帐户。
您可以尝试使用处理器ID或以太网地址。您需要有一些读取ID的软件(通常以汇编语言),并让结果返回。当然,人们可以破解你的软件,或者从多台机器上注册,但在某些情况下,这可以很好地工作。
强制人们为他们的帐户付款。人们通常不希望得到他们中的许多人。
放弃。设计您的系统,以便人们多次注册。
祝你好运。
- 1. 注册不带电子邮件地址的Firebase用户
- 2. django注册不能设置“从”电子邮件地址认证电子邮件
- 3. 使用不同的用户名和电子邮件注册新用户
- 4. 贝宝IPN - 使用用户注册不同的电子邮件到PayPal帐户
- 5. 使用电子邮件注册登录系统的用户表结构
- 6. 使用任何电子邮件ID的用户注册邮件
- 7. 使用不同的Outlook电子邮件地址从Access发送电子邮件
- 8. 阻止特定用户使用虚假电子邮件地址注册php
- 9. 使用django-social-auth确保唯一的电子邮件地址
- 10. 两个用户在不同会员的DB不能使用相同的电子邮件地址
- 11. Procmail不能转发使用![我的电子邮件地址]
- 12. 在cakephp上使用电子邮件地址而不是用户名登录
- 13. Python - 使用pywin32从不同地址发送Outlook电子邮件
- 14. 防止用户使用相同的用户名和电子邮件注册
- 15. 用户注册电子邮件验证
- 16. 在Django注册期间强制使用唯一的电子邮件地址
- 17. Laravel 4.1使用电子邮件激活的新用户注册
- 18. 使用电子邮件作为用户名与Django的注册
- 19. 在ASP.NET MVC 5中使用用户名而不是电子邮件注册?
- 20. 我不能在Facebook上获得用户的电子邮件地址
- 21. 在wordpress中注册相同的用户名和电子邮件
- 22. Powerbi用户的电子邮件地址
- 23. 不允许用户使用设备更改电子邮件地址使用Rails
- 24. php电子邮件功能不能使用.org电子邮件
- 25. 用电子邮件注册用户确认和验证码?
- 26. 如何将Facebook注册的用户与使用同一电子邮件注册的冒险用户合并
- 27. 在Dotnetnuke注册确认电子邮件
- 28. 使用用户,电子邮件和密码进行Firebase注册
- 29. 使用电子邮件地址在云上上传文件
- 30. 如何处理大量电子邮件警报系统的注册用户群
设备指纹识别会给你一个真正的好主意,他可能有多个帐户,尽管它不是100%准确的。它肯定会告诉你谁应该寻找作为一个可能的骗子或其他什么。 – 2012-07-29 02:28:59
@ Bill Lol,我想你可能已经误认为Eric J为[实际的物理电子指纹传感器](https://en.wikipedia)提供了[浏览器指纹](https://en.wikipedia.org/wiki/Device_fingerprint)建议。组织/维基/ Fingerprint_authentication#Fingerprint_sensors)。 – wehal3001 2012-07-29 09:38:27
OH男孩,我搞砸了。我在考虑生物识别技术,因为我们在工作中使用它们。但是维基文本中的blub“另一个问题是单个设备可能安装了多个Web客户端,甚至是多个虚拟操作系统。由于每个不同的客户端和操作系统具有不同的内部参数,因此可以通过简单的运行来更改设备指纹在同一台机器上使用不同的浏览器。“ – Bill 2012-07-29 17:20:10