存储书签脚本的数据

6

我正在制作一个书签小程序,它将调用一个谷歌应用引擎应用程序。该GAE应用程序需要登录信息,我希望将其存储在书签小程序中,因此当用户第一次单击书签小程序时,它会询问登录信息,但从下一次开始,它将自动提供。

2个回答

9
一个书签直接存储数据的难点在于它只能将数据存储在cookie或localStore中,这两个都“属于”当前所在的页面。这意味着下次在不同页面使用它时它不会再次起作用,并且也意味着当前页面可以访问数据,这通常对安全性非常不利。
一般有两种处理情况:
1.) 所使用的应用程序通过cookie保持用户登录状态。登录信息并未存储在cookie中,仅存储了Session ID。就像当你返回许多流行网站时,你无需再次登录。这些类型的书签通常会为用户打开一个小弹窗,其中包含来自应用程序的页面。如果用户未登录,则应用程序提示用户先登录。事实上,书签并不知道是否已登录。
2.) 每个书签定制适用于每个人。因此,我的书签与您的书签不同。区别在于我的书签在代码中包含我的登录信息,而您的书签在代码中包含您的登录信息。实际上,我们每个人都必须先登录到应用程序才能获得自己的个性化书签。
通常,选项1更好、更容易和更安全。

1
有第三种选择。如果用户已注销,则可以使用懒惰注册在后台创建新用户。当用户返回您的网站时,您让他们登录并声明其数据,这些数据是在懒惰用户帐户下临时保存的。这种方法的缺点是,如果会话超时或清除了cookie,则用户将无法声明其活动 - 但用户也不必登录... - Nathan Keller
感谢您的解释,尽管我缺乏JavaScript知识,但选项1最适合我。 - quantme
我很难理解方法1的工作原理。假设我已经通过另一个页面登录了。那么,书签小程序如何获取会话ID,以便它可以访问页面本身?(如果我从任何页面访问服务器xyz,为什么浏览器知道的与xyz相关的cookie不会随该请求一起发送呢?) - Michael

-1

如果我理解正确,这可能会对你有所帮助。http://ajaxian.com/archives/whats-in-a-windowname

它允许在JS中将数据存储在windowname中。允许访问高达2 MB的数据(比cookie可以容纳的要多得多),我相信可以跨选项卡使用...


1
链接已失效。 - Metamorphic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接