7

私は、イメージファイルの格納と検索のためのデータストアとブロブストアについて、stackoverflowについて全面的に読んでいます。すべては、1つを除いてブロブストアを指しています:プライバシーとセキュリティ。ndb.BlobPropertyとBlobStoreはよりプライベートで安全です

データストアでは、私のユーザーの写真は非公開です:誰がblobを取得するかを完全に制御できます。しかし、ブロブストアでは、URLを知っている人は誰でも自分のユーザーの写真にアクセスできますか?本当?

ここに私の心の安らぎを与えてくれる見積もりはありますが、それでもまだ明確ではありません。ブロブキーを持つ人は誰でも写真にアクセスできますか?

Store Photos in Blobstore or as Blobs in Datastore - Which is better/more efficient /cheaper?から)あなたはブロブストアの外に値を果たす方法は、その後、アプリへのリクエスト を受け入れる キーを持つX-AppEngineの-blobKeyにヘッダーで応答することです。 App Engineは送信応答を傍受し、本文 をサービスから直接ストリーミングされたBlobstore値に置き換えます。 アプリロジックが最初にヘッダーを設定するため、アプリは希望するアクセス制御を に実装できます。アプリの介入なしに、 値をBlobstoreから直接取り出すデフォルトURLはありません。

これは質問です。画像をトラフィッキングするためにプライベートで安全なのはなぜですか?データストアまたはブロブストアですか? google-cloud-storage(現在は何もわかりません)

+0

また、私はblobstoreがハンドラーやサービスを介してアクセスを制御するのに最適であると考えています。ユーザーアクセス制御を持つことができます –

+0

blobstoreは私が読んだもの –

答えて

2

google.appengine.api.images.get_serving_urlを使用している場合は、the url returned is publicです。しかし、返されたURLはblobのキーからは推測できません。また、get_serving_urlを呼び出す前にurlが存在することはありません。 (またはdelete_serving_urlを呼び出した後)。

ブロブストアyou can write your own handlersのデータの上にアクセス制御が必要な場合は、そこにアクセス制御を追加します。

0

BlobPropertyは、プライベートで安全で、BlobStoreと同じですが、すべてリクエストを処理するアプリケーションによって異なります。アプリケーションはユーザーにコンテンツを送信する前にアクセス許可のチェックを実装することができます。したがって、すべての画像を自分で配信し、公に利用可能なURLを意図的に作成しない限り、違いはありません。

実際には、BlobPropertyに写真を保存することについては薄暗くしていません。この方法では、データはBlobStoreではなくデータベースに格納され、データベースにデータを保存するにはかなりの費用がかかります。一方、BlobStoreは、安価で便利である。

関連する問題