説明
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 = wp_rand();
$captcha_instance->generate_image( $prefix, $word );
その後、画像ファイルを表示して、回答者から回答を得ます。
回答が正しいかチェックします。
$correct = $captcha_instance->check( $prefix, $the_answer_from_respondent );
もし $correct が正しい場合、先に進みます。正しくない場合、回答者が人間ではないとみなしてブロックします。
そして最後に、用済みの画像ファイルとテキストファイルをテンポラリディレクトリから削除します。
$captcha_instance->remove( $prefix );
以上です。
実際の動作サンプルを確認したい場合、 Contact Form 7 を試してみてください。
スクリーンショット
インストール
大抵の場合、 WordPress から自動的にインストールできます。
とはいえ、手動でインストールする際には、次の手順で行ってください:
really-simple-captcha
フォルダ内のすべてのファイルを/wp-content/plugins/
にアップロードします。- 「プラグイン」メニューからプラグインを有効化します。
参考情報: 本プラグインには「コントロールパネル」はありません。
FAQ
-
画像が表示されない場合、 CAPTCHA は動作しません。
-
Really Simple CAPTCHA をサーバにインストールするには、 GD とFreeType ライブラリが必要です。これらのライブラリがインストールされているか、サーバ管理者に確認してください。
また、テンポラリファイルフォルダを書き込み可能にしてください。テンポラリファイルフォルダは、 ReallySimpleCaptcha クラスで生成された変数
tmp_dir
で設定されています。変数の値は、呼び出すプラグインに依存します。例えば、 Contact Form 7 ではwp-contents/uploads/wpcf7_captcha
を初期値のテンポラリフォルダとして利用しますが、設定により違うフォルダも利用できます。さらに質問があれば、Really Simple CAPTCHA サポートフォーラムをご利用ください。
評価
貢献者と開発者
変更履歴
2.3
- Bumps up the minimum required WordPress version to 6.4.
2.2
- Bumps up the minimum required WordPress version to 6.1.
- Bumps up the minimum required PHP version to 7.4.
- Replaces
ReallySimpleCaptcha::normalize_path()
withwp_normalize_path()
. - Updates Apache directives.