提问人:Pekka 提问时间:8/19/2010 更新时间:8/19/2010 访问量:374
低安全性用户数据的本地存储的远程替代方案?
Remote alternative to local storage for low-security user data?
问:
假设您正在为一个大型且经常光顾的 Web 门户开发一个独立的小型子页面。
该子页面显示公共事件日历中的条目,并允许用户突出显示他们特别感兴趣的条目。突出显示的事件应在该用户将来的每次访问中突出显示(并可能显示在单独的列表中)。
但是,构建经典的用户注册系统,或在服务器上存储用户突出显示的事件选择的任何其他方式都不是一种选择:子模块需要尽可能独立,并且需要尽可能少的维护。这是该项目的条件之一。
在不构建某种登录系统的情况下做到这一点的唯一方法(据我所知)是使用 cookie 或其他一些本地存储(Flash / HTML 5...),这有一个明显而大的缺点,那就是它与计算机绑定,而不是用户。
有没有一种方法可以按人存储几千字节的数据,但不必使用登录名或openID,这是我忽略的?也许是可靠的 Web 服务?
一个“键/值”存储服务就足够了,我向其传递一个唯一的键(用户指定的键)并获取保存的值作为回报。不需要真正的安全性 - 相关数据绝不是机密的。
OpenID 不是一种选择:它在网站的受众中知名度不够高。
Facebook将是一个选择,但我不认为他们提供这样的“存储”选项。
作为一种解决方法,我正在考虑将他们的事件选择作为文本文件下载提供给用户,也可以在另一台机器上上传并转换为 cookie。但这对用户来说非常复杂,因此并不完美。
答:
我们的网站上有一个类似的系统,用户可以在其中为页面添加书签,以使用计划器/愿望清单功能。保存的项目通过网络服务发送并存储在我们的服务器上,并且有相应的获取网络服务。
我们有一个“惰性寄存器”系统。用户第一次保存项目时,系统会要求他们提供电子邮件(但没有密码,因为没有任何内容是机密的)。这是使用 cookie 在本地进行哈希处理和保存的,然后用于设置/获取保存的项目。当用户使用另一台计算机时,系统会再次要求他们提供电子邮件。
关键是注册和登录是相同的操作,因此不需要任何密码提醒或任何重置功能。
评论
Google Docs API 提供对 Google Docs 的编程访问,您可以在其中创建和存储文档和电子表格。您的应用程序可以有自己的 Google 登录名,用于为每个用户创建一个或多个文档。这些文档可用于存储用户设置。
只要您可以从每个用户那里获得一个唯一的 ID(电子邮件地址,或者更安全的地址),这应该相当简单。您甚至可以将文件整理到文件夹中,每个用户一个。
或者,您可以将 Google Docs 与 Google Spreadsheets API 结合使用,我刚刚注意到这个相当方便的功能:
表和记录
与电子表格交互,就好像它们是数据库一样 使用表和记录。
评论