Playframework 如何在Play Framework 2.1.3中使用验证码

Playframework 如何在Play Framework 2.1.3中使用验证码,playframework,captcha,recaptcha,Playframework,Captcha,Recaptcha,我在Play Framework 2.1.3中编写了一个博客引擎,对于评论,我想使用captcha或类似的工具来避免自动垃圾邮件。我找到了一些关于验证码的帮助,但这只适用于Play 1.x,对我不起作用。请提供一些关于如何使用游戏2.1.3中的验证码的帮助。谢谢 以a为例,你甚至可以找到一个如何实现这一点的方法(注意:我没有检查它的有效性)我尝试过谷歌的recaptcha,它很有效,但很可怕(很难阅读) 我使用Java in-Play framework 2.2.1实现了一个简单的解决方案 下载

我在Play Framework 2.1.3中编写了一个博客引擎,对于评论,我想使用captcha或类似的工具来避免自动垃圾邮件。我找到了一些关于验证码的帮助,但这只适用于Play 1.x,对我不起作用。请提供一些关于如何使用游戏2.1.3中的验证码的帮助。谢谢

以a为例,你甚至可以找到一个如何实现这一点的方法(注意:我没有检查它的有效性)

我尝试过谷歌的recaptcha,它很有效,但很可怕(很难阅读)

我使用Java in-Play framework 2.2.1实现了一个简单的解决方案

  • 下载一个开源的验证码软件包。把它放在lib文件夹中

  • 在Application.java中实现captcha方法

  • 将路由添加到路由文件中。访问http://[yourhost]:[port]/captcha


  • 请描述你的尝试,一些代码或者你想使用什么验证码技术。我现在不知道,因为我还没有使用任何验证码技术。我只是想解决当有人在我的博客上写评论时,他需要确认自己是人类。我想避免我博客上脚本/机器人的垃圾评论。所以,我对任何有助于实现这一目标的想法都持开放态度。实际上,这是可行的,所以谢谢!但它使用的是scala,我更喜欢使用java。它在/app/views中的ReCaptcha.scala中执行验证码验证。我认为这不是最佳实践,最好在Application.java中进行验证。我只是不知道如何更改代码。我也在what找到了一个插件,它可以做这项工作,但不起作用。有人在Play2.1.x中使用了这个插件或者知道其他类似的插件吗?
    public static Result captcha(){
        DefaultKaptcha captchaPro=new DefaultKaptcha();
        captchaPro.setConfig(new Config(new Properties()));
        String text=captchaPro.createText();
        Logger.debug("Captcha:"+text);//U can put the text in cache.
        BufferedImage img=captchaPro.createImage(text);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try{
            ImageIO.write(img, "jpg", baos);
            baos.flush();
        }catch(IOException e){
            Logger.debug(e.getMessage());
        }
        return ok(baos.toByteArray()).as("image/jpg");
    }
    
    GET     /captcha                    controllers.Application.captcha