私のウェブサイトにAngular 2フロントエンドを構築しようとしています。私の質問はAngularとは必ずしも関連していませんが、私は完全な文脈を提供したいと思います。RESTfulサービスを保護する方法は?
コンテンツをユーザーに表示するアプリケーションロジックは、クライアントに移行します。したがって、サーバー側では、RESTfulなJSONフィードを介してデータを公開する必要があります。私が心配しているのは、誰かが私のフロントエンドを完全に迂回し、さまざまなパラメータでサービスにリクエストを実行し、データベースを効果的に削ることができるということです。 HTMLを掻き集めることで可能なことが分かりましたが、整形されたデータを使ってサービスを公開するのは簡単です。
これからRESTfulサービスを保護する方法はありますか?言い換えれば、そのようなサービスが私のAngular 2アプリケーションコールにのみ応答するようにする方法はありますか?認証は確かにここでの解決策ではありません。私は訪問者に認証を強制したくないので、スクレーパーは認証しアクセス権を得ることができます。
APIにトークン(リクエストごとに送信される)が必要なようにして、このトークンをサーバー側で検証して特定の操作を許可/禁止することができます。 –
私はこの記事をかなり役に立ちました:https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage – Rob
トークン化とスロットリングが終わりました。スクレイピングよりも魅力的です。 – estus