0

(GAEフォーラムで質問してみましたが、答えが得られなかったので、ここで試しています。)

現在、ブロブをアップロードするために、アプリ エンジンのブロブ ストア サービスは、ユーザーがブロブを投稿できる一意のワンタイム URL を作成します。私の要件は、認証済み/承認済みのユーザーのみが自分のアプリケーションに BLOB を投稿できるようにすることです。ブロブをアップロードするためのマルチパート フォームを含むページがアプリケーションにある場合、現在これを達成できます。

ただし、ユーザーがブロブをアップロードするための「REST API」を提供することを検討しています。アップロード URL の 1 回限りの性質が不正使用の可能性を軽減することは事実ですが、それでも可能性はあります。

ここのアプリ エンジン チームに、開発者がアップロード リスナーを登録できる機能を検討できる人がいるかどうか疑問に思っていました。(または、すでに方法がある場合は、すべて耳を傾けます)。標準のサーブレット フィルターでも、この機能を実行できる可能性があります。これにより、リクエストがブロブ ストア サービスに転送される前に、リクエストを認証/検証/装飾する機会が得られます。

ありがとう、キール

4

3 に答える 3

1

ご指摘のとおり、有効なアップロード URL がある場合にのみ BLOB をアップロードできるため、許可されたユーザーにのみ有効なアップロード URL を発行するだけで済みます。承認されていないユーザーがアップロード URL を取得できる唯一の方法は、承認されたユーザーがアップロード URL を提供した場合、または傍受された場合です。どちらの場合も、同じ警告が通常の資格情報に適用されます。

いずれの場合でも、アップロード後にユーザーの資格情報を確認することは可能です。満足できない場合は、その時点ですぐに BLOB を削除できます。許可されていない BLOB を定期的にアップロードできる場合、これはサービス拒否の脆弱性につながる可能性がありますが、前述のエンコードされた URL の配布に関する制限により、これが適用される可能性が高いのは、たとえば、ユーザーのアクセスがそれらのアップロード URL を生成した後に取り消されました。

于 2010-04-28T09:20:39.363 に答える
0

これで、Blobstore API を使用してファイルをアップロードできます。こちらをご覧ください: http://code.google.com/appengine/docs/java/blobstore/overview.html

于 2012-02-28T04:15:57.480 に答える
0

それが機能するかどうかはわかりませんが (つまり、GAE では実行できない可能性があります)、/_ah/upload パターンをラップするサーブレット フィルターを使用すると、POST が認証されたクライアントと同じ IP アドレスから送信されたかどうかを最初に確認できます。

于 2010-06-15T05:10:01.617 に答える