想象一个网站,使用Google齿轮作为用于各种应用级数据的存储机构。这个数据被间歇地使用异步web服务调用,而应用程序是活动的一个服务器复制。

问题在于在订阅监测机构。想象一下,一个订阅系统基于独特的PC的这项服务。如何做一个webservice的唯一标识PC(或更具体的web浏览器),它与它同步数据?

我的自然第一想法被存储在每台机器上的本地数据库中的GUID以及与请求发送它关闭,但如果一个着眼于谷歌齿轮存储文档你发现数据库是未加密的,并且可以很容易地与(附连到篡改该sqllite文件是必需的,可以使用各种工具)来完成所有。

我最近一直在想是肯定存在某种方式来计算的签名只有JavaScript使用的是每台机器重复又独特之处?到目前为止,这方面的一个实施一直困扰我(如果只存在navigator.userAgent.uniqueID - 虽然不会对隐私做多)。

最后一个念头显然是写一个ActiveX控件和Firefox的插件,提供此功能,但是这将是在屁股...

一个巨大的痛苦

任何见解,将不胜感激。

有帮助吗?

解决方案

您在本地数据库使用GUID的想法是不是一个坏主意。您可以通过允许连接当服务器发出的GUID本地DB上进一步扩大。然后保存为复制有效的GUID在服务器上。如果机器开始与服务器那么他们将被授权发送其数据匹配上一个有效的GUID一个GUID复制过程。更重要的是,你可以从时间与本地数据库到期,补发的GUID时间顶部。最后,我也将是明智的管理发放给单个用户的GUID的数目。如果与用户名的用户进行身份验证JDOE允许使用颁发给JDOE的GUID的唯一的人是JDOE。 (也许用户名不是最好的次级标识符,但使用像这样可以帮助您在被引入到系统中保持假数据)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top