Really Simple CAPTCHA

説明

Really Simple CAPTCHA は、単体では動作しません。他のプラグインから呼び出されることで動作します。当初は Contact Form 7 プラグインのために作成されたものですが、独自に作成した他のプラグインからも利用できます。

注: このプラグインは、名前の通り “really simple ( 本当にシンプル )” なもので、それほど強力な安全性はありません。堅牢な安全性が必要な際には、他のソリューションをお試しください。

どのように動作するのか ?

Really Simple CAPTCHA では、その他の PHP の CAPTCHA ソリューションと違い、ステータスを保存するのに PHP セッションを利用せず、テンポラリーファイルに保存します。このことで、 WordPress に埋め込む際にコンフリクトを心配しなくても良くなります。

キャプチャが生成される際は2つのファイル作ります。1つはキャプチャのイメージです。もう1つは、テキストファイルです。テキストファイルが、キャプチャの回答が正しいかどうかを判定します。

この2つのファイルは、共通 ( ランダム生成 ) のプリフィックスが付いたファイル名となります。例えば、 “a7hk3ux8p.png” と “a7hk3ux8p.txt” です。この例では、回答者が 画像ファイル “a7hk3ux8p.png” への答えとして “K5GF” を回答した場合、 Really Simple CAPTCHA が “K5GF” のハッシュ値を計算し、 “a7hk3ux8p.txt” に保存されているものと一致しているかを確認します。一致している場合、正しい回答として承認されます。

他のプラグインから利用する方法

注 : 下記はプラグイン開発者向けの説明です。

最初に ReallySimpleCaptcha クラスを生成します:

$captcha_instance = new ReallySimpleCaptcha();

インスタンスの変数は、お好きなものに変更してください。

// Change the background color of CAPTCHA image to black
$captcha_instance->bg = array( 0, 0, 0 );

その他の変数について詳しくは really-simple-captcha.php を参照してください。

CAPTCHA 用の文字列をランダムに生成します。

$word = $captcha_instance->generate_random_word();

画像ファイルと対応テキストファイルをテンポラリディレクトリ内に生成します。

$prefix = mt_rand();
$captcha_instance->generate_image( $prefix, $word );

その後、画像ファイルを表示して、回答者から回答を得ます。

回答が正しいかチェックします。

$correct = $captcha_instance->check( $prefix, $the_answer_from_respondent );

もし $correct が正しい場合、先に進みます。正しくない場合、回答者が人間ではないとみなしてブロックします。

そして最後に、用済みの画像ファイルとテキストファイルをテンポラリディレクトリから削除します。

$captcha_instance->remove( $prefix );

以上です。

実際の動作サンプルを確認したい場合、 Contact Form 7 を試してみてください。

スクリーンショット

  • screenshot-1.png

インストール

大抵の場合、 WordPress から自動的にインストールできます。

とはいえ、手動でインストールする際には、次の手順で行ってください:

  1. really-simple-captcha フォルダ内のすべてのファイルを /wp-content/plugins/ にアップロードします。
  2. 「プラグイン」メニューからプラグインを有効化します。

参考情報: 本プラグインには「コントロールパネル」はありません。

FAQ

インストール手順

大抵の場合、 WordPress から自動的にインストールできます。

とはいえ、手動でインストールする際には、次の手順で行ってください:

  1. really-simple-captcha フォルダ内のすべてのファイルを /wp-content/plugins/ にアップロードします。
  2. 「プラグイン」メニューからプラグインを有効化します。

参考情報: 本プラグインには「コントロールパネル」はありません。

画像が表示されない場合、 CAPTCHA は動作しません。

Really Simple CAPTCHA をサーバにインストールするには、 GD とFreeType ライブラリが必要です。これらのライブラリがインストールされているか、サーバ管理者に確認してください。

また、テンポラリファイルフォルダを書き込み可能にしてください。テンポラリファイルフォルダは、 ReallySimpleCaptcha クラスで生成された変数 tmp_dir で設定されています。変数の値は、呼び出すプラグインに依存します。例えば、 Contact Form 7 では wp-contents/uploads/wpcf7_captcha を初期値のテンポラリフォルダとして利用しますが、設定により違うフォルダも利用できます。

さらに質問があれば、Really Simple CAPTCHA サポートフォーラムをご利用ください。

評価

works great, no issues

Very happy to escape the Google Trap with this plugin. Been using it for a long time with Contact Form 7. Nice and simple, no problems — and between this plugin and Akismet: no spam. Thank you!

115件のレビューをすべて表示

貢献者と開発者

Really Simple CAPTCHA はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Really Simple CAPTCHA” has been translated into 8 locales. 翻訳者のみなさん、翻訳へのご協力ありがとございます。

“Really Simple CAPTCHA” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

変更履歴

2.0.1

  • Does a file existence check before attempting to remove the file.

2.0

  • コーディング規約に基づいていくつかのコードを書き直した。
  • ライセンスファイルを更新。バンドルするフォントファイルのセクションを追加。

1.9

  • ファイルのアクセス権限を変更する: 画像ファイルは0644、回答は0640にします。
  • “Text Domain” フィールドをプラグインヘッダーに追加します。
  • バンドルフォントをアップデート: Gentium Basic 1.102
  • cleanup() には、ファイルのクリーンアップ処理の永久ループを防ぐため、引数 $max を追加してください。