这个问题与 ASP.NET 无关,而是与一般的 Web 应用程序相关。
我正在构建一个网络应用程序,其中我正在注册用户。截至目前,我正在获取用户的非常基本的凭据,例如名字、姓氏等。在这个网站中,我为所有刚刚注册的用户免费提供一些信息,以便用户发现我的网站是真实的,而不是假网站。之后,为了获得更多信息,用户必须付费。
我的网站提供的信息将在一段时间后过时。因此,当新用户注册时,他/她将获得更新的新信息;但老用户必须付费才能获得相同的新信息。
我的问题是,一旦信息过时,同一个人可以使用一组不同的凭据重新注册并获取新信息。我想避免这种情况发生。
所以我的问题是:我应该向用户请求或提取哪些信息,以检查同一用户是否没有重新注册?或任何其他方式使这成为可能。
我正在考虑获取该人注册的机器的 IP 地址并用它来检查。但用户可以使用不同的机器重新注册。
我完全迷失在这里,没有得到解决方案。我什至上网查了一下,但找不到答案。
如果您需要我提供更多信息,请告诉我。
最佳答案
您无法找到阻止用户多次注册的技术方法。他们可以简单地使用另一个设备、IP、另一个电子邮件帐户和不同的凭据。
您可以要求他们向您发送难以伪造的“离线”信息,例如信用卡号码或身份证照片。有些用户可能仍然可以通过这种方式多次注册,但可能不会无限期地注册。然而,您会通过这种方式失去许多可能的客户,他们不愿意为测试帐户提供此类信息,因此这可能不是您想要的解决方案。
我的建议是以下两个之一:
- 限制您向免费用户提供的信息/服务,这样即使他们再次注册,他们在付费时也会有所收获。
- 尝试将他们与自己的帐户绑定(bind)在一起,这样他们一旦扔掉就会失去一些东西。例如,这可以为用户的事件(真实的或虚拟的)提供奖励,或者根据他们的历史记录增加他们的体验。以SO为例:如果您再次注册,您将失去所有声誉。用户会三思而行是否值得新内容。
关于asp.net - 如何检查 ASP.NET 中是否是同一用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16441852/