| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <!-- EN-Revision: 15617 -->
- <sect1 id="zend.service.recaptcha">
- <title>Zend_Service_ReCaptcha</title>
- <sect2 id="zend.service.recaptcha.introduction">
- <title>導入</title>
- <para>
- <classname>Zend_Service_ReCaptcha</classname> は <ulink
- url="http://recaptcha.net/">reCAPTCHA Web Service</ulink>
- 用のクライアントです。reCAPTCHA のサイトによると、
- "reCAPTCHA is a free CAPTCHA service that
- helps to digitize books
- (reCAPTCHA はフリーな CAPTCHA サービスで、
- 書籍の電子化を支援しています)" とのことです。
- reCAPTCHA は、ユーザにふたつの単語を入力させます。
- ひとつは実際の captcha で、もうひとつはスキャンされたテキスト
- (OCR ソフトウェアで認識できないもの) の単語です。
- ユーザが最初の単語を正しく入力したら、
- おそらく 2 番目の単語も正しく入力してくれるものとみなせます。
- その入力内容を使って、OCR ソフトウェアの能力を向上させるわけです。
- </para>
- <para>
- reCAPTCHA サービスを使用するには、<ulink
- url="http://recaptcha.net/whyrecaptcha.html">アカウントのサインアップ
- </ulink>
- が必要です。また公開鍵と秘密鍵を作成するには、
- サービスを使用するドメインを登録しなければなりません。
- </para>
- </sect2>
- <sect2 id="zend.service.recaptcha.simplestuse">
- <title>単純な使用法</title>
- <para>
- <classname>Zend_Service_ReCaptcha</classname> オブジェクトのインスタンスを作成し、
- 公開鍵と秘密鍵を渡します。
- </para>
- <programlisting language="php"><![CDATA[
- $recaptcha = new Zend_Service_ReCaptcha($pubKey, $privKey);
- ]]></programlisting>
- <para>
- reCAPTCHA をレンダリングするには、
- <code>getHTML()</code> メソッドをコールするだけです。
- </para>
- <programlisting language="php"><![CDATA[
- echo $recaptcha->getHTML();
- ]]></programlisting>
- <para>
- フォームから送信されてきた内容のうち、
- 'recaptcha_challenge_field' と 'recaptcha_response_field'
- のふたつのフィールドの内容を受け取らなければなりません。
- これらを、ReCaptcha オブジェクトの <code>verify()</code>
- メソッドに渡します。
- </para>
- <programlisting language="php"><![CDATA[
- $result = $recaptcha->verify(
- $_POST['recaptcha_challenge_field'],
- $_POST['recaptcha_response_field']
- );
- ]]></programlisting>
- <para>
- 結果が得られたら、正しいものだったかどうかを確認します。結果は
- <classname>Zend_Service_ReCaptcha_Response</classname> オブジェクトとなり、
- このオブジェクトは <code>isValid()</code> メソッドを提供しています。
- </para>
- <programlisting language="php"><![CDATA[
- if (!$result->isValid()) {
- // 検証に失敗
- }
- ]]></programlisting>
- <para>
- もっと簡単な使用法は、<link
- linkend="zend.captcha.adapters.recaptcha">ReCaptcha</link>
- <classname>Zend_Captcha</classname> アダプタを使うか、そのアダプタを
- <link
- linkend="zend.form.standardElements.captcha">Captcha
- フォーム要素</link>
- のバックエンドとして使用することです。
- どちらの場合でも、reCAPTCHA のレンダリングや検証は自動化されます。
- </para>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|