3

私は Play Framework 2.1.3 でブログ エンジンを書いています。コメントには、自動スパムを避けるためにキャプチャなどを使用したいと考えています。キャプチャに関するヘルプを見つけましたが、これは Play 1.x のみであり、私にはうまくいきません。Play 2.1.3 でキャプチャを操作する方法について助けてください。ありがとう!

4

2 に答える 2

7

Google の recaptcha を試してみましたが、うまくいきましたが、ひどいものです (非常に読みにくいです)。

Java in Play フレームワーク 2.2.1 を使用して簡単なソリューションを実装しました。

  1. オープンソースのキャプチャ パッケージであるKaptchaをダウンロードします。libフォルダに配置します。

  2. Application.javaに captcha メソッドを実装します。

    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");
    }
    
  3. ルートファイルにルートを追加します。http://[yourhost]:[port]/captcha にアクセスします。

GET     /captcha                    controllers.Application.captcha
于 2013-11-16T06:06:15.853 に答える
2

例としてGoogle の recaptchaを使用してください。これを実装する方法についての短いチュートリアルも見つけることができます(注: その有効性は確認していません)。

于 2013-08-31T21:20:19.593 に答える