Google app engine BlobProperty vs BlobStore:哪个更私密、更安全

Google app engine BlobProperty vs BlobStore:哪个更私密、更安全,google-app-engine,python-2.7,google-cloud-datastore,blobstore,google-cloud-storage,Google App Engine,Python 2.7,Google Cloud Datastore,Blobstore,Google Cloud Storage,我一直在阅读有关存储和检索图像文件的数据存储与blobstore的stackoverflow。一切都指向blobstore,除了一个:隐私和安全 在数据存储中,我的用户的照片是私有的:我可以完全控制谁会得到一个blob。然而,在blobstore中,任何知道url的人都可以访问我的用户照片?这是真的吗 这里有一句话应该能让我安心,但还不清楚。所以任何人只要有blob键都可以访问照片?(来自) 从Blobstore中提供值的方式是接受请求 到应用程序,然后使用X-AppEngine-BlobKey

我一直在阅读有关存储和检索图像文件的数据存储与blobstore的stackoverflow。一切都指向blobstore,除了一个:隐私和安全

在数据存储中,我的用户的照片是私有的:我可以完全控制谁会得到一个blob。然而,在blobstore中,任何知道url的人都可以访问我的用户照片?这是真的吗

这里有一句话应该能让我安心,但还不清楚。所以任何人只要有blob键都可以访问照片?(来自)

从Blobstore中提供值的方式是接受请求 到应用程序,然后使用X-AppEngine-BlobKey标题和 钥匙appengine拦截传出响应并替换主体 使用直接从服务流式传输的Blobstore值。因为 应用逻辑首先设置头,应用可以实现 任何它想要的访问控制。没有提供服务的默认URL 值直接从Blobstore中删除,无需应用程序干预


所有这一切都是为了问:哪一个更私密,更安全的图像贩运,为什么:数据存储还是blobstore?或者,嘿,谷歌云存储(我目前对它一无所知)

如果你使用google.appengine.api.images.get\u service\u url,那么是的。但是,返回的url不能从blob的键猜到,在调用get_service_url之前,url甚至不存在。(或在调用delete_service_url之后)


如果您需要对blobstore中的数据进行访问控制,并将访问控制添加到blobstore中。

BlobProperty
与blobstore一样私密性和安全性,这一切都取决于为请求提供服务的应用程序。您的应用程序可以在将内容发送给用户之前执行任何权限检查,因此只要您自己提供所有图像,并且不故意创建公开可用的URL,我看不出有什么区别


事实上,我甚至不会考虑将照片存储在
BlobProperty
中,因为这样,数据最终会存储在数据库中,而不是
BlobStore
,而且将数据存储在数据库中的成本要高得多<另一方面,code>BlobStore既便宜又方便。

我也在研究这个问题,我认为BlobStore最适合通过处理程序或服务控制访问,处理程序或服务可以进行用户访问控制,BlobStore与我读到的云存储类似