2016-12-03 8 views
1

AndroidとiOSの2つのアプリケーションが1つのバックエンドNode.jsサーバーと通信しています。これらのアプリケーションからの要求のみを許可する方法はありますか? APIキーメソッドのようなもの?私はこれらのアプリケーションからのリクエストをフィルタリングする方法について考えようとしましたが、私は固執していると思います。モバイルアプリケーションからNode.jsサーバーへのリクエストのみを許可しますか?

認証トークンシステム用のログインがありますが、ユーザーが同じトークンを使用したり、外部アプリケーションでリクエストを乱用するのを阻止しているのは何ですか?

私は、モバイルアプリからのすべてのリクエストを暗号化し、バックエンドで同じ方法で解読することを考えていますが、多くの計算が必要になることを心配しています。また、ユーザーが同じ暗号化された要求を受け取り、それを悪用するのを止めるにはどうすればよいでしょうか?

私が探しているのは、バックエンドの効率にあまり支障をきたさずにこのような悪用を防ぐことができる、良いセキュリティプラクティスです。

+0

基本認証を使用するか、authtockenを維持する –

答えて

1

基本的にはできません。しかし、あなたはそれを制限しようとすることができます。

あなたのアプリケーションは、あなたが制御しないデバイスに配置されます。誰でもAPI Tokenのように情報を抽出できます。彼らはいくつかのリバースエンジニアリングを行い、あなたのAPIを別のツールで使用することができます。

あなたのAPIが提供する情報を制限することをお勧めします。

0

我々は、値がされるusing req.headers['user-agent']で試すことができ

「のMozilla/5.0(Linuxの; U; Androidの4.0.3; EN-で、SonyEricssonMT11i ビルド/ 4.1.A.0.562)のAppleWebKit/534.30 (KHTMLは、ヤモリのような)バージョン/ 4.0 モバイルサファリ/ 534.30'

デバイスタイプは、ユーザエージェント値から抽出することができると我々は要求に制限を加えることができます。

簡単に抽出するにはMobile Detectを確認してください。

関連する問題