ReCaptcha API 2.0リリース

先日、AJAXを使用して1ページにいくつかのセキュリティイメージを表示する際に小さな問題に直面したプロジェクトの1つにreCaptchaを次に実装したときに、もう一度「reCaptcha」の公式ドキュメントページに移動し、ドキュメントが以前のバージョンと大きく異なることを発見しました。

この検索を使用して、更新されたAPIと視覚化を備えた「recaptcha 2.0」、および他の多くの「グッズ」が世界に登場することが明らかになりました。これについては、この記事で説明します。



reCaptchaの新しいバージョン、または「gCaptcha」と呼ばれるようになったため、Webアプリケーションのcaptchaビジュアルインターフェイスと検証サービス(API)と対話するためのアルゴリズムが大幅に変更されました。 「保護イメージ」自体は大幅に(視覚的に)変更されていません。

現時点では、reCaptcha2の「公式リリース」に関する情報もありません(見つけることができませんでした)。誇りに思っている「 近日公開 」がプロジェクトのランディングページに重くのしかかっています。



新しいreCaptcha 2インターフェース



reCaptcha2に慣れると、すぐに出くわす重要な変更の1つは、新しい保護イメージのデザインインターフェイスです。

インターフェイスは大幅に再設計されました-即興的なチェックボックス「小さなロボット」として表示される小さなウィジェットとして表示され、クリックするとユーザーは画像を解くように求められます。







画像の解決に成功すると、キャプチャは次の形式を取ります。







画像の推測に失敗した場合、キャプチャはこれを通知します。これは大幅な改善です-ユーザーはページを何度もリロードする必要がありません。 セッションの有効期限が切れると、CAPTCHAからも通知されます。

Googleのデモページで reCaptcha2をライブ見ることができます



新しいAPI



新しいreCaptcha2インターフェースと一緒に、リモートAPIを実装して対話するための新しいアルゴリズムも対話に使用されます。

サイトでreCaptcha2を使用するためのキーは、 新しいインターフェイスで取得できます (Google認証が必要です)。







それと同じように、秘密鍵アルゴリズムと公開鍵アルゴリズムが使用されます。このバージョンでは、それぞれ「秘密鍵」と「鍵」と呼ばれます。 重要な変更点は、reCaptcha2のキーをグローバルにできないことです。reCaptcha2を使用する予定の各ドメインを設定で指定する必要があります。 localhostおよび127.0.0.1の場合、captchaはドメインを指定せずに機能します。

新しいAPIでは、ページの本文にcaptchaを導入するのは2行のコードの問題です(*簡単な実装の例):

<script src="https://www.google.com/recaptcha/api.js" async defer></script> <div class="g-recaptcha" data-sitekey="your_site_key"></div>
      
      





それにもかかわらず、apiには、reCaptcha2のアンロードのさまざまなバリエーションとその視覚化の設定(コールバックによる表示、スタイル設定など)のためのかなり大きな関数セットがあります。

captchaとのユーザーインタラクションを検証するためのAPIも変更されました。 以前に使用した標準の投稿フィールドrecaptcha_response_field



g-recaptcha-response



と呼ばれるようになりました。 API自体がテスト結果をJSON形式で返すようになりましたが、実際には喜ばしいことです。 captchaを含むフォームを送信するときの検証のリクエストは次のようになります。

www.google.com/recaptcha/api/siteverify?secret=your_secret&response=response_string&remoteip=user_ip_address







それぞれ、secretは秘密鍵(秘密鍵)、responseはユーザーの応答の結果(post.g-recaptcha-response)、remoteipはユーザーのIPアドレス(オプション)です。 このURLでの処理結果はJSON形式で返されます。

 { "success": true|false, "error-codes": [...] }
      
      





その結果、キャプチャの検証は1行で実行されます(json_decode; object-> success)。

ドキュメント: Googleをご覧ください



その他の先物



reCaptcha2個人アカウントで説明した上記のすべてに加えて、キャプチャの解決に関連するユーザーの行動を後で分析できる統計の「空白」を確認できます。 「スパムインデックス」やその他のトリックに関する統計情報も利用できますが、その目的はまだ明らかではありません(サイト上のキャプチャの推測数でトレンドの増加/減少を通知するようです)。

reCaptcha2では、障害のある人向けのアルゴリズムも保存されます-captchaの再生とmp3のダウンロードが可能です。



関連リンク:





追伸 -PHPが好きな兄弟の場合、完成したライブラリへのリンクを簡易版に添付します(ただし、はるかに簡単ですか?)reCaptcha2を使用します: github / google



All Articles