7

Ich habe über stackoverflow in Bezug auf Datastore vs Blobstore zum Speichern und Abrufen von Bilddateien gelesen. Alles weist auf blobstore hin, mit Ausnahme von einem: Privatsphäre und Sicherheit.ndb.BlobProperty vs BlobStore: was ist privater und sicherer

Im Datenspeicher sind die Fotos meiner Benutzer privat: Ich habe volle Kontrolle darüber, wer einen Blob erhält. Im Blobstore kann jedoch jeder, der die URL kennt, auf meine Benutzer Fotos zugreifen? Ist das wahr?

Hier ist ein Zitat, das mir die Ruhe geben soll, aber es ist immer noch nicht klar. Also kann jeder mit dem Blob-Schlüssel immer noch auf die Fotos zugreifen? (Von Store Photos in Blobstore or as Blobs in Datastore - Which is better/more efficient /cheaper?)

die Art und Weisen Sie einen Wert aus dem Blobstore dienen, ist eine Anforderung an die App zu akzeptieren, reagiert dann mit dem X-App Engine-BlobKey Header mit dem Schlüssel. App Engine fängt die ausgehende Antwort ab und ersetzt den Body durch den direkt vom Dienst gestreamten Blobstore-Wert. Da die App-Logik den Header an erster Stelle setzt, kann die App jede gewünschte Zugriffssteuerung implementieren. Es gibt keine Standard-URL, die Werte direkt aus dem Blobstore ohne App-Intervention liefert.

All dies ist zu fragen: Welche ist privater und sicherer für das Trafficking von Bildern und warum: Datastore oder Blobstore? Oder, hey, google-cloud-storage (worüber ich derzeit nichts weiß)

+0

Ich bin auch dabei, ich denke, die Blobstore ist das Beste für die Kontrolle von Zugriff über Handler oder Dienste, die Benutzer Zugriffssteuerung –

+0

haben können und Blobstore ist ähnlich wie Cloud-Speicher von dem, was ich gelesen habe –

Antwort

2

Wenn Sie google.appengine.api.images.get_serving_url verwenden, dann ja, the url returned is public. Die zurückgegebene URL kann jedoch nicht aus dem Schlüssel eines Blobs erraten werden, und die URL existiert auch nicht vor dem Aufruf von get_serving_url. (Oder nach dem Aufruf von delete_serving_url).

Wenn Sie Zugriffssteuerung oben auf die Daten im Blobstore you can write your own handlers benötigen, und fügen Sie dort die Zugriffskontrolle hinzu.

0

BlobProperty ist genauso privat und sicher wie BlobStore, alles hängt von Ihrer Anwendung, die die Anfragen bedient. Ihre Anwendung kann vor dem Senden der Inhalte an den Benutzer beliebige Berechtigungsprüfungen implementieren. Daher sehe ich keinen Unterschied, solange Sie alle Bilder selbst bereitstellen und nicht absichtlich öffentlich verfügbare URLs erstellen.

Eigentlich würde ich nicht einmal über das Speichern von Fotos in der BlobProperty Thimlk, weil auf diese Weise die Daten in der Datenbank anstelle der BlobStore landet und es kostet deutlich mehr Daten in der Datenbank zu speichern. BlobStore, auf der anderen Seite ist billig und bequem.

Verwandte Themen