Zend_Service-ReCaptcha.xml 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 15617 -->
  4. <sect1 id="zend.service.recaptcha">
  5. <title>Zend_Service_ReCaptcha</title>
  6. <sect2 id="zend.service.recaptcha.introduction">
  7. <title>導入</title>
  8. <para>
  9. <classname>Zend_Service_ReCaptcha</classname> は <ulink
  10. url="http://recaptcha.net/">reCAPTCHA Web Service</ulink>
  11. 用のクライアントです。reCAPTCHA のサイトによると、
  12. "reCAPTCHA is a free CAPTCHA service that
  13. helps to digitize books
  14. (reCAPTCHA はフリーな CAPTCHA サービスで、
  15. 書籍の電子化を支援しています)" とのことです。
  16. reCAPTCHA は、ユーザにふたつの単語を入力させます。
  17. ひとつは実際の captcha で、もうひとつはスキャンされたテキスト
  18. (OCR ソフトウェアで認識できないもの) の単語です。
  19. ユーザが最初の単語を正しく入力したら、
  20. おそらく 2 番目の単語も正しく入力してくれるものとみなせます。
  21. その入力内容を使って、OCR ソフトウェアの能力を向上させるわけです。
  22. </para>
  23. <para>
  24. reCAPTCHA サービスを使用するには、<ulink
  25. url="http://recaptcha.net/whyrecaptcha.html">アカウントのサインアップ
  26. </ulink>
  27. が必要です。また公開鍵と秘密鍵を作成するには、
  28. サービスを使用するドメインを登録しなければなりません。
  29. </para>
  30. </sect2>
  31. <sect2 id="zend.service.recaptcha.simplestuse">
  32. <title>単純な使用法</title>
  33. <para>
  34. <classname>Zend_Service_ReCaptcha</classname> オブジェクトのインスタンスを作成し、
  35. 公開鍵と秘密鍵を渡します。
  36. </para>
  37. <programlisting language="php"><![CDATA[
  38. $recaptcha = new Zend_Service_ReCaptcha($pubKey, $privKey);
  39. ]]></programlisting>
  40. <para>
  41. reCAPTCHA をレンダリングするには、
  42. <code>getHTML()</code> メソッドをコールするだけです。
  43. </para>
  44. <programlisting language="php"><![CDATA[
  45. echo $recaptcha->getHTML();
  46. ]]></programlisting>
  47. <para>
  48. フォームから送信されてきた内容のうち、
  49. 'recaptcha_challenge_field' と 'recaptcha_response_field'
  50. のふたつのフィールドの内容を受け取らなければなりません。
  51. これらを、ReCaptcha オブジェクトの <code>verify()</code>
  52. メソッドに渡します。
  53. </para>
  54. <programlisting language="php"><![CDATA[
  55. $result = $recaptcha->verify(
  56. $_POST['recaptcha_challenge_field'],
  57. $_POST['recaptcha_response_field']
  58. );
  59. ]]></programlisting>
  60. <para>
  61. 結果が得られたら、正しいものだったかどうかを確認します。結果は
  62. <classname>Zend_Service_ReCaptcha_Response</classname> オブジェクトとなり、
  63. このオブジェクトは <code>isValid()</code> メソッドを提供しています。
  64. </para>
  65. <programlisting language="php"><![CDATA[
  66. if (!$result->isValid()) {
  67. // 検証に失敗
  68. }
  69. ]]></programlisting>
  70. <para>
  71. もっと簡単な使用法は、<link
  72. linkend="zend.captcha.adapters.recaptcha">ReCaptcha</link>
  73. <classname>Zend_Captcha</classname> アダプタを使うか、そのアダプタを
  74. <link
  75. linkend="zend.form.standardElements.captcha">Captcha
  76. フォーム要素</link>
  77. のバックエンドとして使用することです。
  78. どちらの場合でも、reCAPTCHA のレンダリングや検証は自動化されます。
  79. </para>
  80. </sect2>
  81. </sect1>
  82. <!--
  83. vim:se ts=4 sw=4 et:
  84. -->