EC-CUBEにSecurimageでCAPTCHAを導入

eccube

EC-CUBEネタ第3弾、EC-CUBEにCAPTCHAを導入です
実際に作ったものなので動作すると思いますが、結構前にやったことなので記憶が曖昧だったり

もし動かなかったら教えてもらえれば対応します

※こちらは2.4系でのカスタマイズ方法になります
2.12系以降の方はプラグインを公開してありますのでご利用ください
EC-CUBE-CAPTCHAプラグインを作りました

Securimageの入手

こちらからダウンロードします
http://www.phpcaptcha.org/

securimage_show.phpの修正

SecurimageはSESSIONを使って認証を行うのでEC-CUBEのSESSIONを使えるようにちょこっと修正してあげる必要があります

※もっとオプションを設定したい人はこちらを参考にしてください
PHPでCAPTCHA(画像認証) Securimageの使い方 – hrendohの日記

必要なファイルのアップロード

これだけが最低限あれば大丈夫、だと思いますがsecurimage丸ごとでも全然いいと思います

SC_CheckError.phpに追記

導入部分に追加

例えば会員登録の場合

LC_Page_Entry.phpのlfErrorCheck内に追記

tplに追加

スポンサーリンク

シェアする

フォローする

コメント

  1. おおさこ より:

    お世話になります。
    この記事を参考にして、2.11.4 のお問い合せページへ組み込み、テストをしています。
    しかし、正しい文字を入力しても false と判定され、何も入力しないと true と判定されてしまいます。

    テストしている環境は、以下のとおりです。

    Windows Vista Ultimate
    Apache 2.2.21
    MySQL 5.5.18
    PHP 5.3.8

    行ったことは、lc_page_contact の lfInitParam に

    $objFormParam->addParam(“文字入力による認証”, ‘captcha_code’, STEXT_LEN, ”, array(“EXIST_CHECK”, “NO_SPTAB”, “SPTAB_CHECK”, “MAX_LENGTH_CHECK”, “CAPTCHA_CHECK”));

    また、lc_page_contact の lfCheckError に

    $objErr->doFunc(array(“文字入力による認証”, ‘captcha_code’, STEXT_LEN), array(“EXIST_CHECK”, “NO_SPTAB”, “SPTAB_CHECK”, “MAX_LENGTH_CHECK”, “CAPTCHA_CHECK”));

    のそれぞれを追加。

    sc_formparamの checkError の case ‘EXIST_CHECK’: の次に case ‘CAPTCHA_CHECK’: を追加。

    sc_checkerror と tpl への追加は、記事のとおりにしました。なお、実際は、xxx_ex に追加しています。

    どこが悪いのかご教授願えたらと思います。
    よろしくお願いします。

    • のぶ より:

      コメントがスパム判定されていて気付くのおそくなりました

      おそらくは、SESSIONが上手く取ってこれていないような気がします
      2.11.4で試してみますので、少々お待ちください

コメントを残す

トップへ戻る