用 JFinal 生成随机验证码

2016-02-17 17:41:02 +08:00
 hualishu

这篇文章,介绍利用 JFinal 的 CaptchaRender 生成随机验证码,效果如下:


验证码区分大小写,输入正确访问博客首页,否则停留在登录页面。
IndexController.java

``package com.demo.index;

import com.jfinal.core.Controller;
import com.jfinal.ext.render.CaptchaRender;

/**
* IndexController
*/
public class IndexController extends Controller {
public void index() {
render("index.html");
}

private static final String RANDOM_CODE_KEY = "1";

public void login() {
String inputRandomCode = getPara("inputRandomCode");
boolean loginSuccess = CaptchaRender.validate(this, inputRandomCode, RANDOM_CODE_KEY);
if (loginSuccess) {
redirect("/blog");
} else {
index();
}
}

public void img() {
CaptchaRender img = new CaptchaRender(RANDOM_CODE_KEY);
render(img);
}
}``

源码下载

11000 次点击
所在节点    Android
12 条回复
hualishu
2016-02-17 17:43:39 +08:00
markdown 插入代码 怎么弄? 问下大家
belin520
2016-02-17 17:48:11 +08:00
你应该尝试发一篇《细谈 Android 架构》我觉得这里的朋友会喜欢更多。
admol
2016-02-17 17:49:01 +08:00
```
三个
```
lll000lll
2016-02-17 19:13:14 +08:00
hao
Troevil
2016-02-17 19:19:37 +08:00
jfinal 的自带的这个验证码好像是 md5 存到 cookies , 理论上无限爆破
blackboom
2016-02-18 00:05:24 +08:00
@Troevil 确实是 cookies 保存
hualishu
2016-02-18 10:38:02 +08:00
@belin520 好的,我想想 该怎么发
hualishu
2016-02-18 10:38:12 +08:00
@admol 我试一下
ppwangs
2016-02-18 11:20:32 +08:00
区分大小写不理性
hualishu
2016-02-18 11:55:41 +08:00
@ppwangs 插入代码还是有问题啊
raysonx
2016-02-18 14:02:30 +08:00
这验证码。。。几分钟就能写个程序把它识别掉。
后面的背景噪线特征明显,直接过滤颜色就可滤掉。
纵向投影分割掉字符后,随便一个分类算法就能识别了。
建议不要为验证码而验证码。
Troevil
2016-02-18 18:18:03 +08:00
@raysonx ... 验证码用的 cookies 验证的. 直接保存 cookies 上面 的 那串 md5 就 OK , 上验证码识别就是用了牛刀了, 这个功能可能也是给出官方给出的一个例子吧, 可用性不强

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/257126

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX