12

Mongolab の REST API は優れています。Mongolab のサポート ページで提供されている次の JavaScript を使用して、Web サイトの分析に直接使用できます。認証が実際にどのように機能するかを理解できる場合のみ。URL に記載されている API キーは、html ソースを見れば誰でも簡単にコピーできます。Mongolab コントロール パネルは、私のドメインからのものである場合にのみ API キーが検証されることを保証する、私の Web サイトの登録を提供しません。この認証はどのように機能しますか?

$.ajax( { url: "https://api.mongolab.com/api/1/databases/my-db/collections/my-coll?apiKey=myAPIKey",
          data: JSON.stringify( { "x" : 1 } ),
          type: "POST",
          contentType: "application/json" } );
4

3 に答える 3

11

優れた観察と優れた質問。

現在、すべての API キーには、ユーザーのアカウントに関連付けられたデータベースへの読み取りおよび書き込みアクセス権があり、API キーを所有するエージェントは、そのような要求を正常に発行できます。

お気づきのように、この非常に基本的なパス キーは、細かなセキュリティを考慮して設計されていません。

ただし、まさにそれを目的とした一連の新しい REST API セキュリティ機能に取り組んでいます。

詳細について話し合うことに興味がある場合は、support@mongolab.com までご連絡ください。

于 2012-09-05T07:46:28.163 に答える
1

MongoDB を使用する最初の AngularJs アプリに MongoLab サービスを使用したいのですが、MongoLab は、フロント エンドから MongoDB へのアクセスを必要とする Web アプリを使用する準備ができていません。

ブラウザーのネットワーク トラフィックで API キーを取得するのは非常に簡単です (以下のスクリーンショットを参照してください。apiKey はプレーン テキストです)。その後、誰でも DB にフル アクセスできます。そのため、MongoDB をいじっても問題ありません。

MongoLab の回避策はまだ見つかりません。現時点では、 https://www.dreamfactory.com/のような別のサービスを使用すると思います。

まだ詳しく試していませんが、MongoDB を使用した AngularApp には最適で、API のセキュリティがどのように実装されているかを確認する必要があります。一見すると、セッション トークンを使用してデータベースへのリクエストを保護しているように見えます。

スクリーンショット ネットワーク トラフィック MongoLab 資格情報

于 2014-10-15T21:31:14.267 に答える
-1

REST API を使用して DB に http リクエストを行うための API キーがあります。たとえば、ユーザーがログインしたい場合、次のような GET メソッドでリクエストを行います。

https://api.mongolab.com/api/1/databases/name_db/collections/users/put_your_params_like_username_and_pw?apiKey=xxxxxxxxx

そして、そのリクエストに対するレスポンスを分析します。これは世界で最も安全な DB ではありませんが、改善されつつあります。

詳細については、ブログで説明しています: http://lolapriego.com/blog/?p=16

于 2013-08-31T23:02:09.250 に答える