低安全性用户数据的本地存储的远程替代方案?

Remote alternative to local storage for low-security user data?

提问人:Pekka 提问时间:8/19/2010 更新时间:8/19/2010 访问量:374

问:

假设您正在为一个大型且经常光顾的 Web 门户开发一个独立的小型子页面。

该子页面显示公共事件日历中的条目,并允许用户突出显示他们特别感兴趣的条目。突出显示的事件应在该用户将来的每次访问中突出显示(并可能显示在单独的列表中)。

但是,构建经典的用户注册系统,或在服务器上存储用户突出显示的事件选择的任何其他方式都不是一种选择:子模块需要尽可能独立,并且需要尽可能少的维护。这是该项目的条件之一。

在不构建某种登录系统的情况下做到这一点的唯一方法(据我所知)是使用 cookie 或其他一些本地存储(Flash / HTML 5...),这有一个明显而大的缺点,那就是它与计算机绑定,而不是用户。

有没有一种方法可以按人存储几千字节的数据,但不必使用登录名或openID,这是我忽略的?也许是可靠的 Web 服务?

一个“键/值”存储服务就足够了,我向其传递一个唯一的键(用户指定的键)并获取保存的值作为回报。不需要真正的安全性 - 相关数据绝不是机密的。

OpenID 不是一种选择:它在网站的受众中知名度不够高。

Facebook是一个选择,但我不认为他们提供这样的“存储”选项。

作为一种解决方法,我正在考虑将他们的事件选择作为文本文件下载提供给用户,也可以在另一台机器上上传并转换为 cookie。但这对用户来说非常复杂,因此并不完美。

PHP 饼干 HTML

评论

1赞 Mewp 8/19/2010
OpenID 也不提供任何存储功能,因此无法使用。无论如何,没有办法在客户端存储每个用户的数据。您不能将数据存储在客户端上,然后它会神奇地显示在另一台计算机上。也许您可以将数据存储在服务器上的文本文件中?
0赞 Pekka 8/19/2010
@Mewp是的,我指的是 OpenID 用于在本地构建一个非常轻量级的存储系统。显然,我不是在寻找客户端的想法,因为你陈述了原因。文本文件(或者毕竟建立一个很小的数据库,叹息)可能确实是要走的路。
0赞 Gordon 8/19/2010
为了澄清:问题是为数据存储寻找可移植的身份验证机制/唯一ID,还是实现数据存储本身的问题?
0赞 Nicolas78 8/19/2010
我是否正确,您没有从包含您的子页面的页面获得用户 ID 或任何传递的内容?
0赞 VolkerK 8/19/2010
您至少可以发送一个 iCalendar 文件,而不是纯文本文件。许多应用程序甚至手机/智能手机都支持这种格式。en.wikipedia.org/wiki/ICalendar

答:

1赞 Adam Hopkinson 8/19/2010 #1

我们的网站上有一个类似的系统,用户可以在其中为页面添加书签,以使用计划器/愿望清单功能。保存的项目通过网络服务发送并存储在我们的服务器上,并且有相应的获取网络服务。

我们有一个“惰性寄存器”系统。用户第一次保存项目时,系统会要求他们提供电子邮件(但没有密码,因为没有任何内容是机密的)。这是使用 cookie 在本地进行哈希处理和保存的,然后用于设置/获取保存的项目。当用户使用另一台计算机时,系统会再次要求他们提供电子邮件。

关键是注册和登录是相同的操作,因此不需要任何密码提醒或任何重置功能。

评论

0赞 Pekka 8/19/2010
是的,这可能也是我最终会得到的。我首先检查是否有任何方法可以不必将数据存储在应用程序的服务器上(但使用 Google API 或用户的 Facebook 帐户或其他任何方式),但也许像这样的简单解决方案是最好的方法。
1赞 Mike 8/19/2010 #2

Google Docs API 提供对 Google Docs编程访问,您可以在其中创建和存储文档和电子表格。您的应用程序可以有自己的 Google 登录名,用于为每个用户创建一个或多个文档。这些文档可用于存储用户设置。

只要您可以从每个用户那里获得一个唯一的 ID(电子邮件地址,或者更安全的地址),这应该相当简单。您甚至可以将文件整理到文件夹中,每个用户一个。

或者,您可以将 Google Docs 与 Google Spreadsheets API 结合使用,我刚刚注意到这个相当方便的功能:

表和记录
与电子表格交互,就好像它们是数据库一样 使用表和记录。