建议java验证码图书馆[封闭]
-
03-07-2019 - |
题
我在寻找一个替代JCaptcha,这似乎不够维持的任何更多,并不是非常好的开始。替换已经将很好地与java ee web.
我可以看到,有三个选项:
- JCaptcha-不再保留,原API
- SimpleCaptcha-好得多API,更好的验证码,但是似乎只Java6
- 验证码-容易使用,使用远程网络的服务产生的验证码,但没有多少控制的外观和感觉
有任何人使用任何其他人,他们会推荐吗?
其他提示
我是作者 SimpleCaptcha.同时我建议--对人类的缘故,使用验证码在哪里你可以,我设SimpleCaptcha因为一些组织的政策禁止库等验证码。SimpleCaptcha是意味着被完全独立的,没有外部的依赖:只要你在J2EE容器,应该是良好的。
此外,SimpleCaptcha现在可用于Java1.5或Java6.
会发生什么时验证码是下不可用的?没有你的服务只是停下来?你只是停止签名人,当它下来?你允许用户登录了,即使如果验证码是不跑?如果是这样,什么是安全的影响这个吗?特别是如果您使用验证码不仅仅是注册的,例如重新设置密码的形式,登录的形式,...这将是不可接受的使用没有验证码组成部分。
Java世界的验证码是一个可悲的状态,与SimpleCaptcha似乎最好的解决方案为那些我们外出那里无法接受托管服务。
我创造的 http://kaptcha.googlecode.com 之前成为验证码作为受欢迎,因为它是今天。它还提供了你的能力主自己,这可能需要在一些情况。
Kaptcha是一个重大的修改和更新版本的SimpleCaptcha和支持JDK5/6中。
SimpleCaptcha是非常好的和易于使用。
这里有一个例子如何使用SimpleCaptcha与JSF2.0(网页有一个例子JSP)
注意,我甚至没打扰到储存的验证码的价值在bean,我只是验证。
豆:
// imports missing here
@ManagedBean
@SessionScoped
public class LoginBean implements Serializable
{
public void validateCaptcha(FacesContext context,
UIComponent componentToValidate,
Object value)
throws ValidatorException
{
HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
Captcha secretcaptcha = (Captcha) session.getAttribute(Captcha.NAME);
if (secretcaptcha.isCorrect(value.toString()))
return;
// optional: clear field
((HtmlInputText) componentToValidate).setSubmittedValue("");
throw new ValidatorException(new FacesMessage("Captcha does not match"));
}
}
相关段的facelet:
<h:form id="CaptchaForm">
Type this: <br/>
<h:graphicImage id="CaptchaImgID" value="/simpleCaptcha.png"/> <br/>
<h:inputText id="CaptchaID"
required="true"
requiredMessage="Captcha missing"
validator="#{loginBean.validateCaptcha}"
validatorMessage="Captcha does not match"
immediate="true">
</h:inputText>
<br/>
<h:commandButton value="Check"/>
<p/>
<!-- message for the input field -->
<h:message id="CaptchaMsgID" for="CaptchaID" style="color:red" />
</h:form>
相关段web.xml:
<servlet>
<servlet-name>SimpleCaptcha</servlet-name>
<servlet-class>nl.captcha.servlet.SimpleCaptchaServlet</servlet-class>
<init-param>
<param-name>captcha-width</param-name>
<param-value>250</param-value>
</init-param>
<init-param>
<param-name>captcha-height</param-name>
<param-value>75</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SimpleCaptcha</servlet-name>
<url-pattern>/simpleCaptcha.png</url-pattern>
</servlet-mapping>
享用:-)
Kaptcha是一个很好的替代验证码如果你是在寻找东道你自己的验证服务,而不是依赖于一个第三方验证服务(如验证码).
我能得到源(一个由一浏览器,不文件-()并建立与1.5.我有一个问题JAVA1.5版扔了坏类版本的错误(在一个时编制与老年java version是搞砸了),这是解决当我复制的罐子是我造自己,它就像一个特色。我强烈建议任何人使用这个。我试图jcaptcha和我必须说它糟透了..访问的网页不应有斗争的验证码图像,击败的目的。...