论坛首页 入门技术论坛

Liferay中的第三方组件:验证码(simple java captcha)

浏览 8634 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-19  
Liferay是个很成功的开源项目,其中用到了大量的第三方组件。

组件列表来自
http://wiki.liferay.com/index.php/Liferay_Dependencies

simple java captcha http://simplecaptcha.sourceforge.net 是一套创建验证码图像的组件。Liferay使用该组件在多个功能中添加验证码功能。

在4.3版本中验证码的配置有两个地方
portal.properties
##
## Captcha
##

    #
    # Set the maximum number of captcha checks per portlet session. Set this
    # value to 0 to always check. Set this value to a number less than 0 to
    # never check.
    #
    captcha.max.challenges=1


以及
captcha.properties
include-and-override=captcha-ext.properties

cap.border=yes
cap.border.c=black
cap.border.th=1

cap.image.height=50
cap.image.width=150

#cap.text.producer=com.liferay.portal.captcha.DictionaryWordTextProducer
cap.text.producer=com.liferay.portal.captcha.PinNumberTextProducer

可以通过创建ext文件,覆盖默设置。

   发表时间:2007-06-19  
不错的东西,以前发现不少网站,例如chinaren 又这种东西,不用自己实现了,有时间试试! 
0 请登录后投票
   发表时间:2007-07-02  
不错。

不过有个问题,
假设我在“login.jsp”里面有用户登录的表单,表单里面使用了验证码,
“login.jsp”的表单提交后,提交到“loginAction.do”来处理用户登录。

我想在“login.jsp”里面用javascript对验证码进行客户端验证,
但是,在“login.jsp”页面里,我从session取到的验证码并不是当前页面此时的验证码,
而是上一次生成的验证码。

(当然,在“loginAction.do”里面进行服务器端验证是可以的,从session取到的验证码是“login.jsp”页面此时的验证码。)
0 请登录后投票
   发表时间:2007-09-28  
suyulin6688 写道
不错。

不过有个问题,
假设我在“login.jsp”里面有用户登录的表单,表单里面使用了验证码,
“login.jsp”的表单提交后,提交到“loginAction.do”来处理用户登录。

我想在“login.jsp”里面用javascript对验证码进行客户端验证,
但是,在“login.jsp”页面里,我从session取到的验证码并不是当前页面此时的验证码,
而是上一次生成的验证码。

(当然,在“loginAction.do”里面进行服务器端验证是可以的,从session取到的验证码是“login.jsp”页面此时的验证码。)


如果你的想法可以实现,那么验证码就失去意义了。因为验证码最大的作用是防止自动化的密码探测攻击,按照你的用法,黑客工具可以很容易的获得验证码的值,通过验证。现在有些网站使用ajax技术实现无刷新的验证码校验,也是需要传回服务器验证的,不会把验证码的值暴露到客户端。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics