繁体   English   中英

验证用户计算机以进行网站登录

[英]Validating user computer for website login

这是我们的情况...

我们正在开发具有付费会员资格的网站。 我们的客户不希望我们的用户获得一个付费会员资格并与他们的朋友分享此详细信息,以便其他用户也可以使用此网站。 因此,他希望将登录名限制为注册人计算机。

我们的客户已经准备好让所有用户在注册后安装一些插件或应用程序。 类似于gmail视频的视频插件。

理想情况下,我们希望Webiste登录来启动此应用程序,以便它可以交叉检查MAC地址或其他一些唯一信息,以确保用户从注册的计算机登录。 请让我知道这是否可行

另外,如果您还有其他建议可以实现此目标,请也告诉我们

提前致谢

算了吧。 如果没有为每个浏览器编写自定义插件,就没有明智的方法。 那将是一件疯狂的工作,而且会引发一场隐私噩梦。

我听说过没有有偿服务做到这一点,并有很好的理由,为什么他们不这样做。

也就是说,专有媒体服务一直在执行此操作:例如,iTunes允许其内容最多在(IIRC)5台计算机上播放。 而且没有人会把他们的iTunes凭据泄露给朋友,因为您可以和他们一起购买东西。 也许您的服务可以在iTunes或其他类似服务上搭载。 他们已经投入了疯狂的金钱和时间来建立适当的DRM。

但是很可能需要告知您的客户这是不现实的要求,并且他们应该像其他所有人一样以正常方式提供服务。

积极地要求您的用户这样的事情是一种很好的方式(而且几乎可以保证)失去所有这些用户。

最好的办法是被动检查,随着时间的推移记录IP。 也许在24小时内将他们的登录限制为5个IP,但是您还必须为移动IP提供例外。

基本上,这是一场噩梦; 不要做

用户是否可以从多台计算机/平板电脑/电话登录? 用户需要能够注册多个设备。

看一下Apple帐户在iTunes中的工作方式。 它们允许用户一次授权最多5台计算机,这意味着尽管用户可以与朋友共享他们的帐户,但至少限制为5个人。 从好的方面来说,一个用户可以在家用计算机,办公笔记本电脑,台式机等上授权其帐户。

另一个想法是一次只允许1个同时登录。 这样,如果用户与朋友共享他们的帐户,则他们的朋友也同时登录时将无法登录。这对于人们不共享他们的帐户是一个很好的威慑力。 但是,对于希望合法地在多个设备上登录的人来说,不断重新登录会很烦人。

对于移动用户,您可以开发移动APP,然后可以轻松地控制基于EMEI或类似设备登录的用户数量。 对于非移动用户,比插件更容易的方法是为用户提供浏览器扩展,并基于该扩展来限制与帐户的连接数。

我建议当用户登录并在后端服务器上跟踪会话时,使用具有唯一会话ID的浏览器cookie。 例如

User[joe@foo.com] =  {
    Session[1] = 1234;
}       

当用户joe@foo.com从另一台设备登录时,您将拥有

User[joe@foo.com] =  { 
    Session[1] = 1234;
    Session[2] = 4567;
}

此时,您终止会话[1]或向会话[2]发送消息以注销会话[1]。

跟踪IP或MAC地址不是一个好的解决方案。 由于它是基于Web的应用程序,因此如果浏览器在智能手机上或用户具有动态IP,则IP地址将更改。 IP地址是面向公众的地址,通常设备位于进行NAT的路由器/防火墙之后。 此外,平板电脑和其他设备也有可能访问该Web应用程序。

我认为,一旦用户意识到登录会话得到跟踪,他们就会很快学会不这样做。

您可以将此功能设为一个功能,这样,如果用户想要一个多用户帐户(例如,五个用户帐户),则可以以稍微折扣的价格提供它,这对所有人来说都是双赢的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM