`

reCAPTCHA

阅读更多

reCAPTCHA 是卡内基梅隆大学的一帮人搞出来的,它的技术并没有什么先进之处,但是创意有点意思。世界上面有很多将图书电子化的计划,基本是把书籍扫描了以后用 OCR 软件识别。有些情况下面 OCR 软件自己觉得某些词的识别结果并不是非常有把握。通常情况下面是通过雇佣劳力来肉眼校对。reCAPTCHA 项目认为这个工作不妨交给全世界大量填写认证码的人来完成。

一般图形认证码系统都是只生成一个单词的,reCAPTCHA 生成的图片里面有两个单词,其中一个是机器生成的,有正确结果的单词,另一个则是扫描出来的有问题的单词,这个词没有正确结果。如果用户提交上来的结果里 面机器生成的那个是对的,那么系统就认为另外一个也很有可能是对的。一幅扫描图片展示给多个用户如果结果都是一样的,他就将这个结果作为最终校对结果。这 样就实现了利用人力来分布式校对文稿的目的。更具体的细节可以看 http://recaptcha.net/learnmore.html

There are three ways to use reCAPTCHA: using an application plugin, using a library for your programming language, and using the web-based API.

How to reCAPTCHA Your Java Application:http://wheelersoftware.com/articles/recaptcha-java.html

 

在你的pom.xml文件加入:

 <dependency>
                <groupId>net.tanesha.recaptcha4j</groupId>
                <artifactId>recaptcha4j</artifactId>
                <version>${version}</version>
        </dependency>
    ...
    
    <repositories>
        ...
        <repository>
                        <id>taneshanet</id>
                        <url>http://tanesha.net/maven2</url>
                </repository>
        ...
    </repositories>

 在你的jsp页面这样:

<%
        // create recaptcha without <noscript> tags
        ReCaptcha captcha = ReCaptchaFactory.newReCaptcha("my-public-key", "my-private-key", false);
        String captchaScript = captcha.createRecaptchaHtml(request.getParameter("error"), null);
        
        out.print(captchaScript);
%>

 Checking the captcha goes like this:

<%
        // create recaptcha without <noscript> tags
        ReCaptcha captcha = ReCaptchaFactory.newReCaptcha("my-public-key", "my-private-key", false);
        ReCaptchaResponse response = captcha.checkAnswer(request.getRemoteAddr(), request.getParameter("recaptcha_challenge_field"), request.getParameter("recaptcha_response_field"));

        if (response.isValid()) {
                out.print("Success");
        }
        else {
                out.print(response.getErrorMessage());
        }
%>

  https://svn.tanesha.net/svn/sandbox/recaptcha4j-example/trunk/ .

当然你也可以在spring里面配置:

<bean id="reCaptcha" class="net.tanesha.recaptcha4j.ReCaptchaImpl">
                <property name="privateKey" value="my private key" />
                <property name="publicKey" value="my public key" />
                <property name="recaptchaServer" value="http://api.recaptcha.net" />
                <!-- Or, if you want to use SSL, then use this:
                        <property name="recaptchaServer" value="http://secure-api.recaptcha.net" />
                -->
                <property name="includeNoscript" value="false" />
        </bean>

 http://tanesha.net/projects/recaptcha4j/

分享到:
评论

相关推荐

    Google reCaptcha验证码对接Demo

    Google reCaptcha是目前广泛应用的一种智能验证码系统,它提供了两种主要类型的验证码:可见的reCaptcha和不可见的invisibile reCaptcha。本项目"Google reCaptcha验证码对接Demo"是一个Java实现的示例,它展示了...

    谷歌reCAPTCHA验证不显示的处理方法

    很多国外网站采用了Google的reCaptcha验证,但在国内上网是无法显示该验证的,即使用梯子也无法解决,可以采用谷歌浏览器插件来解决此问题 使用谷歌浏览器,打开 设置---&gt;扩展程序,勾选开发者模式,把Header ...

    Python-以91的准确率击败最新版本的ReCaptcha

    标题中的“Python-以91的准确率击败最新版本的ReCaptcha”表明这是一个关于使用Python编程语言,通过机器学习技术来解决谷歌ReCaptcha验证的项目。ReCaptcha是谷歌提供的一种反垃圾机器人服务,它通常用于确保网络...

    解决reCaptcha验证框得到资源

    在互联网世界中,安全验证是保护网站免受恶意自动化攻击的重要手段,Google的reCaptcha就是其中的一种。然而,有时用户在尝试与某些网站交互时可能会遇到reCaptcha验证问题,无法正常完成任务,比如注册、登录或者...

    2024.3.14谷歌reCAPTCHA验证不显示的处理方法

    很多国外网站采用了Google的reCaptcha验证,但在国内上网是无法显示该验证的,即使用梯子也无法解决,可以采用谷歌浏览器插件来解决此问题 使用谷歌浏览器,打开 设置---&gt;扩展程序,勾选开发者模式,把Header ...

    谷歌reCAPTCHA验证不显示的处理方法真好用

    使用谷歌浏览器,打开 设置---&gt;扩展程序,勾选开发者模式,把Header Editor....很多国外网站采用了Google的reCaptcha验证,但在国内上网是无法显示该验证的,即使用梯子也无法解决,可以采用谷歌浏览器插件来解决此问题

    Laravel开发-recaptcha

    在Laravel框架中,Google的reCAPTCHA是一个强大的工具,用于防止机器人和自动化脚本进行恶意活动,如垃圾邮件提交、刷票等。本教程将深入讲解如何在Laravel项目中集成并使用reCAPTCHA。 首先,让我们了解什么是...

    Laravel开发-recaptcha reCAPTCHA 验证码的支持

    在Laravel框架中,reCAPTCHA是一个非常重要的组件,它能有效地防止自动化程序(如机器人)对网站进行恶意操作,比如垃圾邮件提交、非法登录尝试等。reCAPTCHA是由谷歌提供的一个免费服务,通过人机识别挑战来确保...

    Laravel开发-laravel-recaptcha

    在本文中,我们将深入探讨如何在 Laravel 开发中集成 Google reCAPTCHA,即"laravel-recaptcha"。Laravel 是一个流行的PHP框架,以其优雅的语法和强大的功能深受开发者喜爱。reCAPTCHA 是 Google 提供的一项服务,...

    Laravel开发-recaptcha-laravel

    在本文中,我们将深入探讨如何在 Laravel 开发中集成 Google 的 reCAPTCHA 服务,以增强网站的安全性,防止恶意机器人和自动填充表单的行为。标题 "Laravel开发-recaptcha-laravel" 指出我们将关注一个特定的 ...

    Laravel开发-invisible-recaptcha

    【Laravel开发-invisible-recaptcha】是针对 Laravel 框架的一个扩展,旨在集成谷歌的 Invisible reCAPTCHA 服务。这个服务主要用于防止机器人和自动脚本进行恶意操作,如垃圾邮件提交、表单滥用等,同时它在用户...

    前端开源库-recaptcha

    `recaptcha`是Google推出的一种反机器人技术,旨在保护网站免受恶意自动化攻击,如垃圾邮件、自动注册和欺诈行为。这个开源库是专门为前端开发者设计的,帮助他们在项目中集成和验证Google的reCAPTCHA服务。 `前端...

    前端项目-angular-recaptcha.zip

    标题中的“angular-recaptcha”指的是一个专门为AngularJS框架设计的模块,目的是为了简化在表单中集成谷歌的reCaptcha服务。AngularJS是一款由Google维护的JavaScript框架,它用于构建单页应用程序(SPA),强调...

    开源项目-romanyx-recaptcha.zip

    开源项目“romanyx-recaptcha”是一个用Go语言编写的Google reCAPTCHA接口封装库,旨在帮助开发者更方便地在Go应用中集成Google的reCAPTCHA服务。reCAPTCHA是一种防止机器人和自动化程序进行恶意操作的安全验证工具...

    下载google上的recaptcha,api.js

    下载文件 https://www.google.com/recaptcha/api.js 和这个文件中包含的另外一个文件 https://www.gstatic.com/recaptcha/api2/r20160531110558/recaptcha__zh_cn.js

    ng-recaptcha, Google reCAPTCHA的Angular 组件.zip

    ng-recaptcha, Google reCAPTCHA的Angular 组件 Google reCAPTCHA的 Angular 组件 一个简单,可以配置的easy-to-start组件,用于处理 reCAPTCHA 。目录安装工具基本用法:游乐场使用 @angular/form

    recaptcha, 用于 ruby 应用的ReCaptcha帮助程序.zip

    recaptcha, 用于 ruby 应用的ReCaptcha帮助程序 reCAPTCHA作者:Jason L 佩里( http://ambethia.com )版权所有:版权所有( c ) 2007 -2013 Jason L 佩里许可证:信息:https://github.com/ambethia

Global site tag (gtag.js) - Google Analytics