http://code.google.com/intl/ja/apis/recaptcha/
reCAPTCHAは無償のCAPTCHAサービスです。スパムや悪意のあるユーザ登録、コンピュータが人間を騙って行われる攻撃などからあなたのサイトを保護します。 CAPTCHAはコンピュータと人間を判別する、自動化されたチューリングテストです。reCAPTCHAはウィジェットとして提供され、あなたのブログ、フォーラム、登録フォームなどに簡単に追加できます。
更に、reCAPTCHAは同時に古い本や新聞をデジタル化する活動の手助けにもなります。reCAPTCHAがどのように動作するかを知り、私たちのフォーラムに参加してください 。
http://code.google.com/intl/ja/apis/recaptcha/intro.html
reCAPTCHAの開発者向けドキュメントにようこそ!reCAPTCHAはあなたのウェブページをスパムやその他の自動化された攻撃から守るために埋め込めるCAPTCHAです。この文書では、あなたのページにreCAPTCHAを追加する方法を説明します。
このドキュメントは、HTMLフォームやサーバー側での処理に精通した人々を対象に書かれています。reCAPTCHAを組み込むには、いくつかのコードを編集する必要があります。
私たちは、このドキュメントが分かりやすいものであろうと期待しています。この API に関するご意見を提供くださる方や、情報交換を行いたい方は、reCAPTCHA開発者グループに参加してください。
reCAPTCHAを使用するには、APIキーを取得する必要があります。あなたが"グローバルキー"オプションを選択しない限り、キーは、ドメインとサブドメインに固有のものです。(デフォルトでは、すべてのキーは"localhost"("127.0.0.1")で動作するので、ローカルマシン上で開発、テストすることができます。)
一度APIキーを取得すれば、以下の2ステップ(とオプションの3番目のステップ)であなたのサイトにreCAPTCHAを追加できます。
ほとんどのWebフォームは、フォーム自体と、そこに入力された内容を処理するスクリプトといった2種類のファイルで構成されています。これら2つのファイルは、それぞれ上記の手順1と2に対応します。したがって、ほとんどのケースでは、2つの異なるファイルを変更する必要があります。
あなたのサイトにreCAPTCHAを追加するには、(a)"プラグイン"を使用するか、(b)reCAPTCHAのサーバと通信するコードを記述する、という二つの方法があります。
我々は、一般的なアプリケーションやプログラミング環境用のプラグインを持っていますので、あなたの使い方にあったものがあればそれを使用することをおすすめします。あなたが以下の開発環境またはアプリケーションのいずれかを使用している場合、リンクをクリックしてプラグイン情報や手順を見てください。
そうでなければ、プラグインなしでreCAPTCHAを表示する方法や プラグインなしで、ユーザの回答を確認する方法を確認してください 。
reCAPTCHAは無償で利用可能なCAPTCHA実装です。これは人間とコンピュータを判別し、次のような用途が考えられます。
reCAPTCHAを使うには公開/非公開APIキーペアが必要です。これらのキーペアはreCAPTCHAへのアタックを防ぎ、あなたのサイトからの回答を集めるために使われます。キー取得はreCAPTCHA管理ポータルから行えます。
あなたのreCAPTCHAトークンは登録されたドメインとそのサブドメインでのみ有効です。複数のサイトでキーが必要な場合*1、次の三つのテクニックが使えます。
*1: 開発サーバと本番環境サーバの二通りを持っているとか、単純に複数のサイトをホスティングしている場合など
reCAPTCHAのリクエストが行われる間、"api"と"verify"の二つのサーバが関わることになります。これらのサーバについては次の通りです。
クライアントサイドAPIを提供します。ユーザはどちらかのサーバとやりとりを行うことになります。あなたのサイトがSSLを使っているならば、api-secureの方を使ってください。そうでないならば、api.recaptcha.netを使ってください。(SSLではないサーバの方がパフォーマンスはよい)
ユーザはAPIサーバにリクエストを行い、チャレンジデータを取得します。
'recaptcha_challenge_field' と 'recaptcha_response_field' の二つのフィールドを持つreCAPTCHAウィジェットを挿入するJavaScriptが返されます。
このHTMLはreCAPTCHAウィジェットを表示する例です。
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=<your_public_key>"> </script> <noscript> <iframe src="http://api.recaptcha.net/noscript?k=<your_public_key>" height="300" width="500" frameborder="0"></iframe>
</noscript>
このコードはformタグの間に挿入される必要があります。ユーザのブラウザがJavaScriptをサポートしないときのために、noscriptコードも指定してください。これは二つのフィールドを手動で埋め込む必要があります。
注: この例のように公開/非公開キーペアをハードコードするのではなく、もっと安全な、隠れた場所に保存しておく方がよいでしょう
JavaScriptでreCAPTCHAウィジェットの見かけをカスタマイズできます。これらの設定をする場合、RecaptchaOptionsオブジェクトを宣言するscriptタグを挿入してください。フィールドは次のように指定できます。
| キー | 設定できる値 | デフォルト値 | 意味 |
| theme | red/white/blackglass | red | テーマを指定します |
| tabindex | 整数値 | 0 | reCAPTCHAのテキストボックスにtabindexを指定します。フォーム中の他の要素がtabindexを使用している場合、この値を設定してユーザが使いやすくすべきです。 |
例: このscriptタグは白のテーマを適用し、tabindexに2を指定します。
<script>
var RecaptchaOptions = {
theme : 'white',
tabindex : 2
};
</script>
確認サーバからの応答はLF区切りの文字列で返ります。将来的に行が追加される可能性がありますので、現状では追加行を無視する実装にすべきです。
false incorrect-captcha-sol
'&error=incorrect-captcha-sol'とチャレンジデータを要求するURLに含めることにより、ユーザはこのエラーコードを得ることが出来ます。
不明なエラー
公開キーが不正です
非公開キーが不正です
確認サーバへのリクエストの中で、challengeパラメータが不正です
CAPTCHAの答えが間違っています
/verifyに与えるパラメータが間違っています。必須パラメータを全て与えているか確認してください。
同一ドメインルールに違反しています。「キーの適応範囲」の項を参照してください。
お疲れ様でした!reCAPTCHAをアプリケーション中で使う例を見るなら、リソースのページをご覧下さい。