2012-03-06 49 views
1

在我的应用程序中,我必须提供巨大的安全文件(svg图等),我只想显示登录用户。文件不会有太大的变化,如果确实如此,它具有不同的网址,所以我想在谷歌应用引擎上使用边缘缓存,以便更快地加载到已经登录的用户。谷歌应用程序引擎的边缘缓存安全内容

我的问题是,我如何使它安全?即,如果用户注销并且如果其他人使用他的浏览器,他是否可以看到该内容?如果是这样,我该如何预防呢?

相关:如何防止浏览器记住我网站上的内容网址。

回答

3

其中一种解决方案可以使用Google Cloud Storage with ACL,即以只有特定登录用户才能访问该文件的方式。尽管此解决方案仅限于Google帐户。

更新:谷歌云存储现在有一个short-life signed URLs

” ......你可以提供一个标识的URL给用户,这将允许用户访问该资源在有限时间内任何人谁知道网址可以在有限的时间内访问资源(您可以在要签名的查询字符串中指定过期时间)“ - 因此,这可能更接近您的需要。

另一种解决方案是,您可以通过动态处理程序来处理您的大文件。然而,这会消耗大量的CPU和带宽。此外,您仍然受到GAE quotas的限制。

相关:您无法阻止浏览器记住访问的URL或任何其他类型的历史记录。它完全取决于特定的浏览器和用户偏好(不能访问您的应用程序/ JavaScript /无论)。你可以问你的用户唯一的事情就是清除他们的历史记录,cookie以及注销时的情况。

1

你可以在AppConfig中设置到期

对不起,我只是有一个德国的链接(只是尝试,或许谷歌将切换到您的语言) http://code.google.com/intl/de-DE/appengine/docs/java/config/appconfig.html

只要没有过期,浏览器可以缓存文件本地。这会导致很短的加载时间。但是,如果缓存太小,浏览器将再次请求该文件。

一个好的浏览器只会使可用的记录用户的安全文件。 但是,您无法保证哪个浏览器正在使用中。您的用户可以随时下载安全文件并在任何地方发布。

当用户给第三个用户登录时,他们可以随时访问受保护的文件。

我不认为你可以避免记住任何链接。在某种程度上,这与上述相矛盾。