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

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

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

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

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

評価

2023年10月25日
Helo, very simple banner for cookies but there is a little bug. The banner Cookies are shown in Widgets page.
2021年12月17日
Needed this for an installation with custom forms. I used the plugin developers instructions and was able to make a fully custom implementation based on server side validation within 30 minutes. No more spam bots misusing the forms. Thank you!
2021年1月21日
Worked great for me a a simple solution to annoying emails. looked good
126件のレビューをすべて表示

貢献者と開発者

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

貢献者

“Really Simple CAPTCHA” は39ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

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

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

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

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() with wp_normalize_path().
  • Updates Apache directives.

2.1

  • Uses hash_equals() to compare strings.