2017-12-11 5 views
0

私は、RESTバックエンド(JSON)を使用してデータベースにアクセスするSPA(角度)を作成しています。 OAUTHベースのトークンベースの認証システムを追加して、リクエストのログインと承認を処理するのはかなり簡単でした。リバースエンジニアリングされたアクセスからRESTインターフェイスを保護する

私の懸念事項は、誰かが自分のRESTサーバーにアクセスする独自のアプリケーションを書くときを検出する方法です。私がしたいことは、あなたが自分のSPAを使用しているのにユーザが自分のアプリを書いている場合に料金を請求すると、サーバアクセスが無料であるという利用規約を採用することです。

APIをリバースエンジニアリングすることは間違いありません。すべてのSPAコードはユーザーがアクセスできるので、私は方法を考えることができませんでした。あなたはサーバーにアクセスする代替SPAを書くことができず、その違いを理解できませんでした。

どのようにこれを行うためのポインターですか?

答えて

1

CORSヘッダーを使用すると、別のドメインのユーザーがサービスにアクセスできなくなります。あなたがそれらを正しく設定し、それらを世界に開放しないようにしてください。

あなたのサービスを通じて誰かがプロキシをするのを防ぐことはできません。それはブロックするのが難しいです。あなたはいくつかのIPアドレスからの高さの活動を調べることができます。

OAuth2もお手伝いできます。それは、他の誰かが自分のブラウザをふりをするのが難しくなるだろう。これはあまりにもうまくいくのは、異なるIPアドレス(または範囲)から来る多種多様なアクティビティ(多分おそらく)を見るからです。

ただし、他の人がそれを消費しても問題ではないようにサービスを作成することをおすすめします。たぶんあなたは正反対のやり方を見つけ出し、完全にそれを開くことができます。多くのサービスがopen apisで成功しています(実際にはもっと成功する可能性があります)。ユーザーがサービスのデータに便利にアクセスすることを許可しない特定の理由はありますか?

+0

私がしたいことは、私が提供するWebアプリケーションを介してアクセスした人にAPIを無料で提供することですが、最終的に人々は独自のデータベースクエリをバックエンドに作成したいと考えています。 – AlanObject

+0

@ AlanObjectもしそれがあなたの要求だとすれば、フロントエンドではなくあなたのAPIで強制する必要があります。 – Evert

関連する問題