<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0
    JCaptcha Plugin :基于 JCaptcha 開源圖片和音頻驗證碼項目的Grails插件
    而jcaptcha-1.0終于出來了. 比起0.2輕量了很多, 而且0.2里面有不少無用的東西...
    現在grails-app下面主要的文件就剩下JcaptchaController.groovy, JcaptchaService.groovy, JcaptchaTagLib.groovy了.
    JcaptchaTagLib.groovy里面其實也就定義了兩個標簽, 一個用戶圖片驗證(jpeg), 一個用于語音驗證(wav).
    JcaptchaController.groovy里面則定義了主要兩個action(jpeg和wav)用于JcaptchaTagLib.groovy的兩個標簽調用.
    JcaptchaService.groovy則定義了四個常用方法, 主要是boolean validateResponse(captchaName, id, response)用于驗證輸入驗證碼是否正確

    下面看看使用驗證碼代碼:
    首先需要在Config.groovy, 添加:
    import Java.awt.Font
    import Java.awt.Color
    import com.octo.captcha.service.multitype.GenericManageableCaptchaService
    import com.octo.captcha.engine.GenericCaptchaEngine
    import com.octo.captcha.image.gimpy.GimpyFactory
    import com.octo.captcha.component.word.wordgenerator.RandomWordGenerator
    import com.octo.captcha.component.image.wordtoimage.ComposedWordToImage
    import com.octo.captcha.component.image.fontgenerator.RandomFontGenerator
    import com.octo.captcha.component.image.backgroundgenerator.GradientBackgroundGenerator
    import com.octo.captcha.component.image.color.SingleColorGenerator
    import com.octo.captcha.component.image.textpaster.NonLinearTextPaster

    jcaptchas { 
            imageCaptcha = new GenericManageableCaptchaService( 
                new GenericCaptchaEngine( 
                    new GimpyFactory( 
                        new RandomWordGenerator( 
                            "abcdefghijklmnopqrstuvwxyz1234567890" 
                        ), 
                        new ComposedWordToImage( 
                            new RandomFontGenerator(                 // 生成圖片文字的字體以及字號大小,可以是多種字體,會隨機出現。
                                20, // min font size 
                                30, // max font size 
                                [new Font("Arial", 0, 10)] as Font[] 
                            ), 
                            new GradientBackgroundGenerator(       // 配置驗證圖片的大小和背景色以及過渡色
                                140, // width 
                                35, // height 
                                new SingleColorGenerator(new Color(255, 255, 255)), 
                                new SingleColorGenerator(new Color(200, 200, 200)) 
                            ), 
                            new NonLinearTextPaster( 
                                4, // minimal length of text 
                                4, // maximal length of text 
                                new Color(11, 11, 11) 
                            ) 
                        ) 
                    ) 
                ), 
                180, // minGuarantedStorageDelayInSeconds 
                180000 // maxCaptchaStoreSize 
            )


    頁面中添加:
    < input id="captchaResponse" maxlength="30" name="captchaResponse" type="text" />
    < jcaptcha:jpeg name="imageCaptcha" width="100px" height="25px" >< /jcaptcha:jpeg >

    Controller里面要做驗證
    if (!jcaptchaService.validateResponse("imageCaptcha", session.id, params.captchaResponse)){
        flash.message = message(code:'pinpin.login.invalid.jcaptcha')
        return
    }
    posted on 2008-08-28 22:54 周銳 閱讀(1181) 評論(0)  編輯  收藏 所屬分類: Groovy&Grails
    主站蜘蛛池模板: 91香蕉国产线观看免费全集| 亚洲乱码中文字幕综合234| 午夜电影免费观看| 亚洲黄黄黄网站在线观看| 亚洲国产精品精华液| 成年性午夜免费视频网站不卡| 吃奶摸下高潮60分钟免费视频| 亚洲国产成人综合精品| 国产美女无遮挡免费网站| 在线观看亚洲视频| 免费看片在线观看| 国产.亚洲.欧洲在线| 国产成人AV免费观看| 国产在线观看免费不卡| 国产精品亚洲专区无码牛牛 | 一区二区三区四区免费视频 | 亚洲成人福利在线观看| 免费精品国产自产拍在| 亚洲成av人在线视| 草久免费在线观看网站| 中文字幕在线亚洲精品| 一级毛片免费视频| 美女视频黄免费亚洲| 国产一级大片免费看| 国产亚洲玖玖玖在线观看| 国产精品高清全国免费观看| jizz免费在线观看| 亚洲日本在线观看网址| 国产高清在线精品免费软件| 国产VA免费精品高清在线| 亚洲性天天干天天摸| 成人免费无码大片A毛片抽搐色欲 成人免费无码大片a毛片 | 日本免费的一级v一片| 国产成人精品免费大全| 亚洲精品在线免费观看视频| 无码成A毛片免费| 亚洲JIZZJIZZ妇女| 久久精品国产99精品国产亚洲性色| 你懂的免费在线观看| 久久亚洲最大成人网4438| 亚洲五月综合缴情在线观看|