如果客户端可以访问系统,请尝试读取硬盘序列号,网卡mac地址,主板序列号等,将它们组合在一起并生成散列。然后将此哈希与凭据一起发送以获取安全令牌。哈希也应该保存在服务器上。然后在所有后续请求中,客户端提交安全令牌以及刚刚生成的机器哈希。服务器验证凭据和散列。特别是,安全令牌是否是使用此特定哈希生成的。
一些工作,但它是可行的,它很有趣。
没有100%的方法将安全令牌绑定到计算机上:(
我们通常做的是假设如果你有获得令牌的凭据,那么你就可以了 的 好的队伍 强> 我们有点信任你。毕竟,我们仍然允许您访问我们的数据。
我有几个想法:
澄清:尝试一个思想实验。即使您可以从Silverlight调用Win32 API获取机器信息并将其用于令牌,您仍然没有万无一失的解决方案。您的API调用可以虚拟化。就此而言,您的整个客户端计算机都可以进行虚拟化。有关此证明,请参阅Darknet纸张或现有的任何DRM系统。这是 的 不可赢 强> 。
这里是你如何限制某人从一个好的团队中给予坏人团队的人的伤害。你会在一段时间后过期令牌。然后你正在处理的场景是这样的: 的 用户提供合法的用户/通行证,因此他们可以访问一定的时间(10分钟,10小时,10天,无论如何),并且您不关心他们是从Silverlight,AJAX还是Atari 2600 强> 。 的 毕竟,他们只是证明了他们在用户/传球上的优秀团队 强> 。这是一场你可以赢的比赛。