Google的kaptcha驗證碼使用
效果圖:
官方地址:https://code.google.com/p/kaptcha/w/list
1、把下載的kaptcha-2.3.2.jar新增到lib中
2、配置web.xml增加servlet
- <servlet>
- <servlet-name>Kaptcha</servlet-name>
- <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>Kaptcha</servlet-name>
- <url-pattern>/kaptcha.jpg</url-pattern>
- </servlet-mapping>
3、在jsp頁面中
- <form action="submit.action" method="post">
- <img src="kaptcha.jpg" id="kaptchaImage" /> <input type="text"
- name="kaptcha" value="" /> <input type="submit" name="submit"
- value="submit" />
- </form>
4、KaptchaServlet會把驗證碼設定到session中,可以如下方式獲取
- String kaptchaExpected = (String)request.getSession()
- .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
5、如果是struts2的action,可以如下方式獲取
- String kaptchaExpected = (String)ActionContext.getContext().getSession()
- .get(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
- <script type="text/javascript">
- $(function(){
- $('#kaptchaImage').click(function () { $(this).attr('src', '/kaptcha.jpg?' + Math.floor(Math.random()*100) ); })
- });
- </script>
7、或者來點fade效果
- <script type="text/javascript">
- $(function() {
- $('#kaptchaImage').click(
- function() {
- $(this).hide().attr('src',
- 'kaptcha.jpg?' + Math.floor(Math.random() * 100)).fadeIn();
- });
- });
- </script>
8、驗證碼圖片還有很多引數設定
設定方法,在web.xml的servlet中
- <init-param>
- <param-name>kaptcha.border</param-name>
- <param-value>no</param-value>
- </init-param>
Constant | 描述 | 預設值 |
kaptcha.border | 圖片邊框,合法值:yes , no | yes |
kaptcha.border.color | 邊框顏色,合法值: r,g,b (and optional alpha) 或者 white,black,blue. | black |
kaptcha.border.thickness | 邊框厚度,合法值:>0 | 1 |
kaptcha.image.width | 圖片寬 | 200 |
kaptcha.image.height | 圖片高 | 50 |
kaptcha.producer.impl | 圖片實現類 | com.google.code.kaptcha.impl.DefaultKaptcha |
kaptcha.textproducer.impl | 文字實現類 | com.google.code.kaptcha.text.impl.DefaultTextCreator |
kaptcha.textproducer.char.string | 文字集合,驗證碼值從此集合中獲取 | abcde2345678gfynmnpwx |
kaptcha.textproducer.char.length | 驗證碼長度 | 5 |
kaptcha.textproducer.font.names | 字型 | Arial, Courier |
kaptcha.textproducer.font.size | 字型大小 | 40px. |
kaptcha.textproducer.font.color | 字型顏色,合法值: r,g,b 或者 white,black,blue. | black |
kaptcha.textproducer.char.space | 文字間隔 | 2 |
kaptcha.noise.impl | 干擾實現類 | com.google.code.kaptcha.impl.DefaultNoise |
kaptcha.noise.color | 干擾顏色,合法值: r,g,b 或者 white,black,blue. | black |
kaptcha.obscurificator.impl | 圖片樣式: 水紋com.google.code.kaptcha.impl.WaterRipple 魚眼com.google.code.kaptcha.impl.FishEyeGimpy 陰影com.google.code.kaptcha.impl.ShadowGimpy |
com.google.code.kaptcha.impl.WaterRipple |
kaptcha.background.impl | 背景實現類 | com.google.code.kaptcha.impl.DefaultBackground |
kaptcha.background.clear.from | 背景顏色漸變,開始顏色 | light grey |
kaptcha.background.clear.to | 背景顏色漸變,結束顏色 | white |
kaptcha.word.impl | 文字渲染器 | com.google.code.kaptcha.text.impl.DefaultWordRenderer |
kaptcha.session.key | session key | KAPTCHA_SESSION_KEY |
kaptcha.session.date | session date | KAPTCHA_SESSION_DATE |
9、
水紋效果
魚眼效果
陰影效果
相關文章
- 登入驗證碼生成kaptcha(輸入驗證碼)APT
- Springboot透過谷歌Kaptcha 元件,生成圖形驗證碼Spring Boot谷歌APT元件
- 在國內使用Google驗證碼reCaptchaGoAPT
- Springboot +redis+⾕歌開源Kaptcha實現圖片驗證碼功能Spring BootRedisAPT
- Java驗證碼—ValidateCode的使用Java
- time-based基於google key生成6位驗證碼(google authenticator)Go
- 驗證碼機制之驗證碼重複使用
- 使用Docker部署帶密碼驗證的RedisDocker密碼Redis
- java之使用Servlet生成驗證碼的原始碼分享JavaServlet原始碼
- 驗證碼原理及驗證
- gofiber: 使用圖形驗證碼dGo
- 使用 Turing 破解滑塊驗證碼
- 使用node+puppeteer破解驗證碼
- 驗證碼---js重新整理驗證碼JS
- 常見驗證碼的弱點與驗證碼識別
- 網路驗證之授權碼使用
- 使用libphonenumber驗證電話號碼 - Baeldung
- ACCESS 密碼驗證/文字驗證中的小坑密碼
- 坑爹的驗證碼。。
- JavaScript驗證碼生成和驗證效果JavaScript
- 你知道怎麼使用Google兩步驗證保護賬戶安全嗎?Go
- 幽默:證明真人的新驗證碼
- 如何使用git的hook來驗證程式碼規範GitHook
- hyperf 驗證器的使用
- PHP驗證碼PHP
- Response驗證碼
- Laravel - 驗證碼Laravel
- 使用 Ruby 識別英文數字驗證碼
- 使用 Swift 識別英文數字驗證碼Swift
- 使用 OCaml 識別英文數字驗證碼
- 神器!使用Python 輕鬆識別驗證碼Python
- thinkphp6後臺新增google登入驗證PHPGo
- 【驗證碼逆向專欄】某多多驗證碼逆向分析
- easy-captcha實現驗證碼驗證APT
- 影片直播app原始碼,傳送驗證碼 驗證碼識別APP原始碼
- volatile的特性程式碼驗證
- PHP 驗證身份證號碼PHP
- 模擬使用者登入,內含驗證碼驗證和request等操作
- 使用F#破解滑塊驗證碼的完整流程