【问题标题】:How to encrypt files already stored on GAE's blobstore?如何加密已经存储在 GAE 的 blobstore 中的文件?
【发布时间】:2011-09-11 08:05:16
【问题描述】:

我正在开发一个应用程序,该应用程序允许用户(发布者)将文件上传到 blobstore,然后如果其他用户付费,此应用程序会将 blob 服务回给其他用户。因为这些 blob 存储在特定的 url 上,如果用户知道正确的 url,仍然可以下载文件,所以我想用 128 位密钥加密这些文件以防止非法下载。 BlobReader 类文档说:“这个接口是只读的:应用程序不能直接修改 Blobstore 值。”

如何在发布者上传和用户下载之间的某个地方实施加密方法。有没有办法读取 blob,用字节做一些事情并将新字节保存在新的 blob 中?还是可以完成这项工作的类似解决方案?

【问题讨论】:

  • 加密文件在这里是一个糟糕的解决方案:如果您不希望未经授权的用户下载文件,请首先不要将其提供给他们。

标签: google-app-engine encryption blobstore


【解决方案1】:

根据Blobstore Python API help documentation,服务 blob 似乎取决于您定义的处理程序。您不能检查用户是否在该处理程序中经过身份验证,然后拒绝为 blob 提供服务(例如通过返回错误代码),而不是重写 blob?

【讨论】:

  • 我已经在检查用户身份验证,但我仍然担心如果有人伪造会话令牌并且仍然能够下载。
  • @Peter,如果您要求通过 HTTPS 进行请求,使用安全 cookie,并对您的 cookie 进行数字签名,很难想象这是如何伪造的。
猜你喜欢
  • 2011-05-02
  • 2012-03-11
  • 1970-01-01
  • 1970-01-01
  • 2013-03-21
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多