javascript - 如何通过 Javascript 管理用户身份?

标签 javascript jquery saas

我运行一个 SaaS允许免费试用。基本上,如果您注册,您会立即获得值(value)几美元的免费服务。我一直在单独根据 IP 地址确定新用户,并且在最初的几个月里效果很好。现在人们终于明白,更改他们的 IP 地址并骗取我的免费试用奖金非常容易。

我想做的基本上是创建所有可能的 javascript 浏览器变量的散列并将其存储在 MySQL 数据库中。

如果我注意到相同的浏览器哈希已经注册了之前 100 次注册中的 10 次免费试用...我将不会为该帐户启用免费试用奖金。

我该从哪里开始呢? (我在哪里可以找到所有 javascript 浏览器变量设置的列表,例如窗口大小、操作系统、浏览器和版本号、国家/地区、语言等...?或者 jquery 是否已经提供了类似的东西?)

我考虑过通过 twilio 实现电话验证...但这会花费我的钱,我的用户的钱,并最终导致更少的免费试用。

编辑:这里的目标是尽可能限制欺诈事件,而不是丝毫妨碍真实事件!

当然这个解决方案并不完美,但加上我已有的其他解决方案会有所帮助。我愿意接受一些损失,但希望尽可能地限制损失。

最佳答案

您可能想要做的是看一下浏览器指纹 http://panopticlick.eff.org/

虽然这无论如何都不是万无一失的,但如果您将它与 cookie 和用户 IP 地址混合使用,您应该会得到适合大多数用户的东西。

已更新
如果想法是限制欺诈事件,我会实现基于 SMS 的代码,类似于 Gmail 的工作方式。您必须输入您的手机号码才能获得免费试用,如果您批量购买 SMS,您应该能够以每条约 2 便士的价格获得它们,而且只需找到具有 API 的 SMS vendor 即可轻松实现。

虽然您可以使用上面的技术,但它过于复杂并且仍然不会万无一失,并且可以轻松解决。

关于javascript - 如何通过 Javascript 管理用户身份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8817596/

相关文章:

javascript - 无法使用Ajax beforeSend和完成功能

javascript - 简单模式弹出窗口?

javascript - PHP/JS 进度条

javascript - 将 jQuery 添加到 Header.php 文件失败

css - SaaS 应用程序的自定义登录页面

node.js - 如何使用app.method()进行授权

ldap - SaaS LDAP/目录服务?

javascript 只允许字母数字和连字符 - 文本字段中的值

javascript - 将时间戳日期转换为 javaScript 日期

jquery - jquery中如何获取textarea的值?