web-dev-qa-db-ja.com

クライアントサーバーREST APIcaptchaの実装

私はクライアントサーバーを構築していますRESTアプリケーション。クライアント側はAngularに基づいていますが、サーバーはPHP(それではありません)とにかく重要です)。

ベストプラクティス、この場合のキャプチャ実装の良い例があるかどうか疑問に思っていますか?キャプチャは、ユーザー登録などに使用されます。

私は特定のライブラリに限定されていません。唯一の要件は、クライアント側のサードパーティサーバー(サードパーティサーバーでホストされているjsライブラリまたはreq apiキーなど)への呼び出しがないことです。

ありがとう

12
Vladimir Cvetic

Google captchaが1人のユーザーを承認すると、トークンが提供されます。

したがって、このコンテキストを想像してください。ユーザーが保存しようとしていて、キャプチャを使用します。キャプチャは、ユーザーを承認してトークンを提供するまでビジネスを行います。重要なのはそれだけです。

これに対するリクエストの「暫定的な」フローを見たい場合。

  1. 登録前のユーザーがキャプチャを渡すと、キャプチャはフロントエンドでトークンを提供します。
  2. ユーザーが[保存]をクリックすると、フォームデータとキャプチャトークンがバックエンドで受信されます。あなたはAPIを通してグーグルするように頼みます、トークンは本物ですか?彼らが「はい」と言った場合はフォームを保存し、何らかの理由でGoogleがそれを認識しない場合は、エラーを返します。
  3. フロントエンドは、成功またはエラー、およびどのようなエラーをリッスンします。エラーがキャプチャの場合は、強制的に再試行し、新しいトークンを取得します。
  4. バックエンドはフォームデータと新しいトークンを再度受信し、再度確認します。
15
Daniel Aranda

Googleの新しいreCaptchaはかなり洗練されています。わかりやすい例と使用シナリオがいくつかあります。

https://www.google.com/recaptcha/intro/index.html

編集:これをRESTfulアプリケーションに実装する方法に関する特定の質問に対処するために、2つのファイルを作成します。 1つはindex.phpのような公開ファイルで、もう1つは個人情報を保持するバックエンドファイルです。

以前に書いたハウツーをここにコピーして貼り付けることも、リンクすることもできます 2か月前に書いた記事

0
Ben Gray

あなたはgoogle-recaptchaを見ることができます。そのangular実装はここにあります

vcRecaptcha

0
Anita