web-dev-qa-db-ja.com

SMS Webアプリケーションでの検証

これは、SMS検証に関連する最初のプロジェクトです。

オンライン注文WebアプリケーションでSMS検証を実装する方法は?例:-AmazonのWebサイトでパスワードをリセットしようとすると、SMS検証コードが送信され、コードを入力した後、変更が続行されます。パスワードユーザーが注文するアプリケーションに同じ機能を実装したいのですが、最後のステップの前に、SMS確認コードをユーザーのモバイルに送信して同じことを確認します。

主な要件はSMS Gateway(Transactional Quality)です。

しかし、私はこれで完全に新しいので、どのように進めるか、またはどのようにそれを実装することができるかについてのアイデア。

AJAXまたは安全なチャネルでPOSTコマンドを使用する以外のことは必要ありません。

非常に高いレベルでこれらはステップです:

ステップ1-サインアップページ。

機密情報を含むサインアップページにはhttpsを使用してください。ユーザーは自分の電子メールアドレスと電話番号を送信するため、これはhttpsである必要があります。

  1. SMSの送信先の電話番号を含むアカウント情報を投稿します。
  2. ランダムな確認コードを作成する
  3. 確認コードと新しいアカウントのサインアップ情報を保存します
  4. 確認コードのみを含むSMSメッセージを送信します

次に、ユーザーを確認ページにリダイレクトします。このページは確認コードを受け入れるだけで十分です。あなたがしていることは、電話にアクセスできる人がアカウント情報を持つ同じ人であることを確認することだけであることに注意してください。他人の電話を持っている人が悪意を持っているのを阻止することはできません。電話はセキュリティの観点から「あなたが持っているもの」と呼ばれています。

ステップ2-確認ページ

  1. 確認コードを投稿してください。これは、セッションIDを通じて状態を追跡する多数のテクノロジーのいずれかを使用していることを前提としています。
  2. 現在のセッションを使用して、メモリ内のアカウントIDを検索します。この情報はすでに容易に入手できるはずです。次に、確認コードがデータベースに保存されているものと同じであることを確認します。これはパスワードではないので、この情報をハッシュする理由がわかりません。これは、1ユーザーが破棄するコードです。誰か他の人が後で入手してもかまいません。
  3. 確認コードが一致する場合は、ユーザーを確認済みとしてマークします。これで、このアカウントが特定の電話番号にアクセスできることがわかりました。

参照用に基本的な図を含めました。

enter image description here

5

クラウドでホストされる多数のSMSゲートウェイ、使用してソリューションを実装できる非常にシンプルなAPIがあります。 Twilio が最初に思い浮かびますが、 SMS Cloud API。

Twilioのすばらしいところは、Text to Speech機能を備えた音声APIも備えていることです。したがって、SMSを送信するか、コードを少し変更するだけで電話をかけることができます。

1
Michael Brown