2016-11-23 13 views
0

私は角2を学んでいて、私のアプリ内でデータを保護する方法を研究してきました。角と秘密のキー

可能であれば、アプリのフロントエンドからのデータを妨害できますか?ノードサーバーを介して角型アプリケーションを提供することは可能ですか?たとえば、ユニバーサルアンギュラルを使用すると、フロントエンドのユーザーから変数値を隠すことができます。

私は基本的に様々なAPI /認証ヘッダ/パスを作成するためのアプリへのアクセスを与える秘密鍵を隠すのソリューションを探しています。私は解決策は、アプリケーションのAPIブリッジを持っていることを読んだ - だから私はデータ/キーを取得するに接続するだろう - しかし、どのように私はアクセスからそれを保護するのですか?そのエンドポイントは公開され、悪用される可能性があります。または、キーを取得するとレスポンスが表示されます。私が読んだドメインにロックするというアイデアは、なりすましやIPへのロックが信頼できないということは、フロントエンドとしてもアプリケーションを通じても機能しないでしょうか?

私は何かが欠けていることをはっきりと明白な答えがあると感じます。

答えて

0

サーバーがリクエストに対する応答としてデータを送信すると、外部からデータにアクセスすることは簡単です。 これをしたくない場合は、データを送信しないでください。

実際に解決しようとしている問題については言及していません。 APIキーの場合、たとえば、サーバー上のAPIへの要求を行い、クライアント用に独自のサーバーにAPIを提供し、サーバーが実際のAPIサーバーに要求を転送させることができます。

+0

こんにちはギュンター(。あなたのフロントエンドは、いくつかの締めキオスクモードのインストールとは対照的に、「通常の」ブラウザ上で利用可能である少なくともあれば)、それは理にかなっている - それは概念についての私をトリップいただきましたです!いくつかのデータを取得するためにAPIに接続したいとします。そのAPIは明らかにデータを取得するために認証が必要なので、私自身のAPIを使ってプロキシをプロキシすれば、私のAPIエンドポイントが公開されるのを防ぎ、それを介してアクセスすることができますか?私は接続を隠しましたが、ドアを開いたままにしましたか?私はそれを認証する必要がありますが、それをどのように保護するのですか?ループと思われる –

+0

これは難しい質問です。素敵な人には無料で簡単にアクセスできますが、悪い人をブロックしたいと考えています。あなたが良い解決策を見つけたら私に知らせてください;-)あなたができることは、いくつかの認証トークンを使用することです。そして、それが要求と共に提供されなかったときに、コールを転送しないでください。この方法では、APIを誰にも公開せず、APIキーを公開しないでください。 –

+0

アプリが読み込まれると、JWTを取得するための基本的なリクエストを行うことができますか?それを使用して自分のAPIに対して認証しますか? –

0

あなたのフロントエンドに保持されているすべてのものがであると仮定すると、フロントエンドにアクセスできる人は誰でも見ることができます。 フロントエンドのすべてのJS変数、ストレージ(ローカル、セッション)、ネットワーク要求などは、フロントエンドのユーザーから保護されていません。

あなたは(とすべきである)、サーバーとブラウザの間で誰からの非表示データを作成するためにSSLを使用することができますが、あなたのフロントエンドのユーザーからフロントエンドで開催されたデータを保護する方法はただありません。