【问题标题】:Is Google App Engine memcache secure?Google App Engine 内存缓存是否安全?
【发布时间】:2015-12-22 08:05:57
【问题描述】:

我的应用程序检查每个请求的用户身份验证和授权,我正在考虑将身份验证和授权数据从数据存储区移动到内存缓存。

memcache 适合这个用例吗?它是安全的还是我不应该这样做?

【问题讨论】:

  • 你明白memcache是​​一个临时存储,所有数据随时都可能丢失吗?
  • 是的,我愿意。如果 memcache 丢失,系统会再次将数据写入 memcache。但它是安全的吗?
  • 好的,我以为你想用 memcache 作为主存储
  • 改用会话。每个用户的会话都是唯一的,它们由 memcache 和数据存储自动支持。

标签: google-app-engine go google-cloud-datastore


【解决方案1】:

是的,Memcache 是安全的。如果您将重要内容保存到 Memcache,则必须将其备份到数据存储中,因为它随时可能被驱逐。 Python (NDB) 和 Java (Objectify) 上的数据存储 API 可以自动为您管理缓存,但我不确定 Go。

如果您的用户使用他们的 Google 帐户登录,您可以使用用户 API1


【讨论】:

  • 更好地使用会话作为评论说
  • 你能提供一个链接吗?我可以在 App Engine 文档中找到的与 session 类似的唯一参考是 Java Servlet API HttpSession。
  • 在我的回答中解释了
【解决方案2】:

是的,正如标记的答案所说,memcache 是安全的(甚至是共享的 memcache)。

但是,正如一条评论所说,您真的不应该重新发明 appengine 会话,而是使用它们。谷歌搜索“appengine go session”,你会找到有关它的资源。该搜索中的第一个链接: https://godoc.org/code.google.com/p/sadbox/appengine/sessions

向您展示如何在 Go 中使用它们。

除了处理 memcache 和数据存储实现之外,它还具有可配置过期等附加功能。

【讨论】:

  • 这是一道围棋题。
  • 好的,我知道这是一个有效的替代方案,但应该注意这不是 App Engine 的功能,而是第 3 方包。
  • 确实如此。它与 appengine 中的官方 java 和 python 实现相同。它不使用新服务,它使用现有的数据存储和内存缓存。
  • 我也没有看到任何官方的 Python 会话 API。 Java 是来自 Java Servlet API 的 HttpSession 接口的实现,我想已经存在的使用该接口的 Java 代码继续在 App Engine 上工作。此外,出于性能原因,它默认被禁用。
  • 因为它不是 API。谷歌以不同的方式提供它。 Python 在 webapp2 中有会话
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
相关资源
最近更新 更多