ユーザーがオンラインで登録する必要があるアンドロイドアプリを作成しました。私のアプリからのJSON登録データの受信を確実にする方法はありますか?ありがとう。着信登録データを確認する
答えて
あなたは(例えば、公開鍵など)のランダムハッシュおよび/またはバリデータ/検証ハッシュを生成することができます
最も簡単な形式: あなたのアプリケーションストア有効期限などのハッシュ、例えば数分。 登録に追加するユーザーに検証ハッシュを送信します。 あなたのアプリだけがトークンを生成できます。 例えば:
$token = bin2hex(openssl_random_pseudo_bytes(16));
// or
$token = bin2hex(random_bytes(16));
あなたは別のものが登録してtrys incommingハッシュがわからない場合。
あなたのAPIコントローラにこのAuth関数を書き込みます。
protected function Auth($id,$token){
if(!empty($id) and !empty($token)){
$user = DB::table('users')->where('id',$id)
->where('token',$token)->count();
if($user == 1){
return true;
}else{
return false;
}
}else{
return false;
}}
初めてのログインは、ランダムハッシュを保存するために、このメソッドを使用していますが、ユーザーのトークン。撮影中
$randomString = $this->random_hash();
とを(キー=>トークンとしてユーザーテーブルにこのトークンを保管してください)そのユーザーの任意のapiリクエストIDとaccess_tokenからの入力。
$auth = $this->Auth($id,$access_token);
if($auth == 1)
あなたの機能を続行することができます。
あなたはその質問をお読みになりましたか? –
はい、私はAPIレベルabuteを話しています – Sachin
私のアプリからのJSON登録データの送信を確実にする方法はありますか?
まあ、Yes
とNo
:)
Yes
あなたがインターネットにAPIを公開すると、あなたは通常、誰もがそれに話をしたくありません。したがって、ほとんどのAPIが使用する最初の壁は、APIトークンを使用している間保持することができるクライアントトークンです。 APIによっては、各リクエスト(ヘッダー付き)とともに送信されるAPIもあれば、oauthベースのAPIのようにユーザーを認証している間に表示することが必要なAPIもあります。さらにsecret
文字列を入力して、secret
のリクエストペイロード(JSON)をまとめてリクエストして結果のチェックサムを含めるように依頼することもできます。その場合、リクエストがバックエンドに到着したときにAPIが同じことを行い、secret
文字列を知っているので、一致したチェックサムを確実に送信するために同じハッシングを行うことができます。そういう仕組みがあれば、どのクライアント(ソフトウェア)があなたと話しているのか、それが許可されているかどうかを知ることができます。あなたがそれを実装していないならば、私は単にそれを追加するだけです(これは、あなたのアプリケーションの古い古いバージョン)を単純にブラックリストに載せることで特定のクライアントを禁止することになります。
No
残念なことに、私が言及したこれらの鍵や秘密などは、通常、アプリの場合はアプリのバイナリに含まれ、バイナリは一般に公開されなければならないため、コンテンツは完全に秘密とはみなされませんいくつかの作品は、それを抽出することができますし、そのアプリケーションに代わって要求を偽装するために使用されます。そして、呼び出しが元のコードから来たのか、または詐称者によって送られたかどうかを伝えることは残念ながら不可能です。
ありがとうMarcin、アプリ内のトークンを隠すための最良の方法は何でしょうか?この時点で私はproguardを使用していますが、apkが逆コンパイルされているときにトークンが簡単に取得されます。 – nerotech
- 1. ユーザ登録前に確認メールを送信する - PHP
- 2. Strapi:ユーザー登録時に確認メールを送信する方法
- 3. 着信リクエストを確認する
- 4. Android Appの登録確認
- 5. FOSUserBundle登録後の確認
- 6. PHP登録メール確認
- 7. Django登録フォーム確認メール
- 8. Register.aspx.csでの登録時に確認メールを送信しない
- 9. FosUserBundle doubleメールで登録を確認
- 10. 登録フォームにデータの妥当性確認
- 11. MVC確認コードの登録ルート、ドットネットコア
- 12. ASPNET MVC 5アイデンティティ確認ユーザー登録
- 13. Zendフレームワーク登録+電子メールの確認
- 14. ユニットテストでのオートファック登録の確認
- 15. サーバーからクライアントの登録メールへ確認メールを送信する方法
- 16. 登録確認メールとしてGmailを使用する送信者
- 17. cURL登録後にデータを送信
- 18. Django-allauth:登録時にウェルカムメールを送信します(確認なし)
- 19. アスタリスクと着信と録音
- 20. 着信要求のHTTPヘッダーを確認するJavaコード
- 21. 生データを登録する
- 22. Windowsの登録dllを確認するには?
- 23. サーバー上のFCM登録トークンを確認する方法は?
- 24. コンテナ登録のスレッド安全性を確認する方法
- 25. Memberpressのユーザー登録タイプを確認する
- 26. 登録プラグイン、登録データにアクセス
- 27. SMS登録を使用してユーザー登録を確認するにはどうすればよいですか?
- 28. iPhoneの着信番号を確認します
- 29. データベースに送信し、その情報でユーザーに確認メールを送信する登録フォーム
- 30. 登録スクリプトで、データベースの入力を確認して登録時に削除する必要があります
ご意見ありがとうございます、より詳しく教えていただけますか? – nerotech
ありがとう、これは現在私がやっていることですが、誰かがapkを逆コンパイルすると、簡単に外部アプリ経由でトークンを取得できます。より安全な方法を探しています。 – nerotech