<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
    主站蜘蛛池模板: 成人毛片免费在线观看| 国产高清不卡免费视频| 在线观看免费成人| 亚洲最大福利视频| 暖暖免费高清日本一区二区三区| 亚洲无吗在线视频| 热99re久久精品精品免费| 欧洲亚洲国产精华液| 免费看国产精品麻豆| 四虎精品成人免费视频| 最新亚洲成av人免费看| 无码囯产精品一区二区免费 | 人人爽人人爽人人片av免费| 亚洲高清免费视频| 国产在线播放线91免费| 久久久久亚洲AV无码专区首| 亚洲一区二区免费视频| 在线综合亚洲欧洲综合网站| 国产成人免费片在线观看| 一级毛片免费在线| 亚洲日本中文字幕区| 成人免费毛片视频| 丰满妇女做a级毛片免费观看| 精品亚洲一区二区| 两性刺激生活片免费视频| 国产精品亚洲精品久久精品| 亚洲综合另类小说色区| 亚欧在线精品免费观看一区| 亚洲av纯肉无码精品动漫| 国产亚洲日韩在线三区| 免费能直接在线观看黄的视频| 亚洲av午夜国产精品无码中文字| 亚洲综合另类小说色区色噜噜| 日韩精品内射视频免费观看| 亚洲精品亚洲人成在线| 亚洲日韩v无码中文字幕| a毛片基地免费全部视频| 一级毛片免费在线播放| 亚洲人成7777影视在线观看| 国产偷国产偷亚洲高清日韩 | 一级毛片在线播放免费|