モンスターカレンダー

« 2010年2月 »
12345678910111213141516171819202122232425262728

以前、Captchaについて記事を書きました。
その時はJCaptchaを使っていましたが、もっと簡単に便利な奴を見つけたのでそっちの記事を書きます。笑

kaptchaと言うGoogle codeが提供する画像認証ライブラリです。

Apache License 2.0らしいです。

仕上がりはこんな感じ↓
kaptcha.jpg今回はSAStruts + Mayaa の環境でやりました。

まず、http://code.google.com/p/kaptcha/よりファイルをダウンロードします。
(執筆時はkaptcha-2.3.zipでした。)


これを解凍するとkaptcha-2.3.jarってのが出てくるので、
そいつを該当のJavaプロジェクトのライブラリにしてあげます。

buildePath.jpg

さて、お次はweb.xmlです。

下記の文を追記します。

    <servlet>
        <servlet-name>Kaptcha</servlet-name>
        <servlet-class>
            com.google.code.kaptcha.servlet.KaptchaServlet
        </servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Kaptcha</servlet-name>
        <url-pattern>/kaptcha</url-pattern>
    </servlet-mapping>
お次は呼出方法ですね。
今回はMayaaで作ったので下記のような感じになります。

<html:img src="/kaptcha" />
早い話がHTMLのイメージタグで「/kaptcha」を呼んでやるだけです。

<img src="/kaptcha" />
こんな風に。
srcはweb.xmlに記載した<url-pattern>を参照出来るようにすれば大丈夫。

お次はActionクラス
strutsでない場合は該当のServletクラスです。

String kaptchaDate = (String) request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
こんな風にしてあげると表示したKaptchaの文字情報が取れます。
あとは、入力してもらったテキストと比較してあげるだけです。

if (inputKaptchaData.equalsIgnoreCase(kaptchaDate ))) {
  System.out.println("OK!!");
}
ってな具合です。

いや~設置も簡単だしこれは便利です。
さほど文字の解読が難解ではないので、高性能な解読プログラムで解読出来ちゃうかも・・・?しれませんが。

ちなみに今回、参考にさせて頂いたサイトはこちらです。

トラックバック(0)

トラックバックURL: https://mt.schwarzekatz.net/mt-tb.cgi/11647

コメントする

MTBlog50c3BetaInner

このブログ記事について

このページは、よしお@やおライダーが2010年2月11日 13:26に書いたブログ記事です。

ひとつ前のブログ記事は「時之栖」です。

次のブログ記事は「嵯峨乃彩 2010」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Links

カテゴリ

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。
MovableType(MT)テンプレート 無料(フリー)
Powered by Movable Type 6.8.8
OpenID対応しています OpenIDについて

つぶやき

オススメ