Captchaプラグイン「Captcha Component & Helper」

Captchaプラグインを実装してみました。
ダウンロードはこちら
解凍して、このようになるようにそのままappディレクトリ下に置いてください。

app/Controller/Component/CaptchaComponent.php
app/View/Helper/AppHelper.php
app/View/Helper/CaptchaHelper.php
app/webroot/cakecaptcha (webrootに関してはインストール環境によると思いますので読み替えてください。)

コントローラ (Controllers)

    public $components=array( 'Security', 'Captcha', );
    public $helpers=array( 'Captcha');

    public function captcha() {
        $this->Captcha->configCaptcha( array( 'pathType'=>2));
        $this->Captcha->getCaptcha();
    }

    public function captchatest() {
        if($this->Captcha->validateCaptcha()) {
            // OKの場合の処理
        }
    }

ビュー (Views)

// captchatest.ctp
<?php 
  echo $this->Captcha->input();
?>

もし、"Could not find/open font"と怒られたら(もしくはCaptchaがでない)、CaptchaComponent.phpを修正する必要があります。
このエラーは、画像作成に使用するフォントファイルを読み込めないために起こります。
118行目の修正が必要です。

$this->resourcesPath=$this->controller->webroot.'cakecaptcha/resources';

環境によってことなるのですが、ドメイン直下にcakecaptchaを配置しているため以下のように修正しました。

$this->resourcesPath='cakecaptcha/resources';

デモ

デモ (確認環境 : CakePHP 2.3.5)

参考:Captcha Component & Helper for cakePHP2.x

  • このエントリーをはてなブックマークに追加

関連記事

テキストから指定文字をハイライト「highlight」・配列をリストに展開「toList」・二重改行を<p>タグへ変換「autoParagraph」

Textヘルパーの「highlight」は、テキスト内の指定文字をハイライトしてくれます。検索結果の表示などに使用できそうです。デモ highlight テキスト内の指定文字ハイライト表示しま

テキストから指定文字数で抜粋「excerpt」「truncate」「tail」

Textヘルパーには、コントローラーから受けとったテキストデータを切り取り表示してくれるヘルパーが用意されています。先頭もしくは末尾から指定文字数を切り取ってくれる「truncate」「tail」、指

ユーザエージェントを取得

Windows XPサポート終了に伴い、移行を促すために有効な手段としてユーザのブラウザやOSの情報を取得して行動を促すというのがあると思います。 グローバル関数「env」でuser-agent

テキストから自動的にリンクを付与「autoLink」と除去「stripLinks」

Textヘルパーには、テキスト処理に関する便利な機能があります。ユーザによる投稿などを表示する際に、URLが貼り付けられている場合に自動的にリンクを付けてくれるautoLinkや、逆に、リンクが貼られ

「isUnique」バリデーション

「isUnique」は、特定カラムの一意性を検証してくれるメソッドです。 2.5.6からは、複数フィールドにまたがる一意性検証にも対応するようになったようです。 使用方法 p

シンプルに設置できる数字Captcha「MathCaptcha」

スパム防止などで利用されているCaptchaですが、数字版で使えるものがないか探してみました。この「MathCapthca」は非常にシンプルに設置できます。 ダウンロードはこちらから。 MathC

複数データベースの追加と切替

CakePHPで複数のデータベースに切替を行うということがあると思います。(個人的にはあまりない) 今回、CakePHPからWordpressのデータベースへの接続を行う機会があったので設定を試してみ

Cakeログ 出力フォーマット カスタマイズ

Cakeログの出力はFileLogクラスのwriteメソッドで行われます。今回は、出力のフォーマットの変更をいくつか試してみました。 既存のライブラリを上書き(オーバーライド)する方法 wri

Comment

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

    PAGE TOP ↑