- 浏览: 351197 次
- 性别:
- 来自: 南宁
文章分类
最新评论
-
萌蜗牛:
我也用华为smproxy包发送短信,运行一会儿后总是间隔一段时 ...
半桶水开发 CMPP2.0 with Spring + JPA 2 -
萌蜗牛:
我也用华为smproxy包发送短信,运行一会儿后总是间隔一段时 ...
半桶水开发 CMPP2.0 with Spring + JPA 1 -
萌蜗牛:
我也用华为smproxy包发送短信,运行一会儿后总是间隔一段时 ...
半桶水开发 CMPP2.0 with Spring + JPA 3 -
sw970345363:
[b][/b]
jqGrid 表格demo -
二年级chuck:
哪里有Java的验证。
reCAPTCHA 学习
最近在帮朋友写一下小的申请页面,里头有用到验证码来防止恶意注册.
想了一下没能耐造轮子,还是拿来就用吧.找了一下,发现reCAPTCHA 这个非常不错,还支持声音,不过验证码看起来有点模糊.做一下笔记
先看看它的工作流程
1. The user loads the web page with the reCAPTCHA challenge JavaScript embedded.
2. The user's browser requests a challenge from reCAPTCHA. reCAPTCHA gives the user a challenge and a token that identifies the challenge.
3. The user fills out the web page form, and submits the result to your application server, along with the challenge token.
4. reCAPTCHA checks the user's answer, and gives you back a response.
5. If true, generally you will allow the user access to some service or information. E.g. allow them to comment on a forum, register for a wiki, or get access to an email address. If false, you can allow the user to try again.
然后,你得有个帐号,然后生成一个key,跟Google的adsense类似
移步这里去申请一个,然后生成你的key.
好,先在客户端加上一段js,这样就可以加载这个验证码了
这里有2种方式生成这个验证码,一个是在form中直接添加js代码
它将在form中生成2个input, recaptcha_challenge_field (系统生成的值) 和 recaptcha_response_field (用户输入值)
These APIs create two form fields: recaptcha_challenge_field is a hidden field that describes the CAPTCHA which is put on the page. recaptcha_response_field is a text field where the user can enter their answer.
还有一种方式是用ajax的方式生成,这里有个 demo.
在head中插入
然后用类似
来,在"recaptcha_div" 中生成的验证器.
关于界面的定制
我们可以用类似
来定制界面,当然还包括语言,
需要注意的是,默认语言界面里头没有简体中文,我们可以用它的custom_translations 属性来自定义中文,我在js代码中找到了英文的定义,然后手工翻译一下
粗糙翻译一下,欢迎拍砖:
这里还有详细的 客户端 API,大家可以围观.
服务端部分
我写的程序是用php的,先看看php的api吧,Java的也有,但还没研究,回头再贴出来
首先你得下载它的依赖库
然后
recaptcha_get_html 函数有3个参数
recaptcha_get_html($pubkey,$error ,$use_ssl)
$pubkey -- string. 必需. public key
$error -- string. 可选(默认null) 如果设置了值, reCAPTCHA 会显示这个错误的代码. 错误代码来自 ReCaptchaResponse->$error
$use_ssl -- boolean. 可选(默认false) 是否启用ssl
校验验证码
主要的方法是 recaptcha_check_answer()
它有4个参数
$privkey -- string. 必需. 申请的 private key
$remoteip -- string. 必需. 用户的ip,格式:192.168.0.1
$challenge -- string. 必需recaptcha_challenge_field 字段的值,来自前台页面
$response -- string. 必需 recaptcha_response_field 字段值
Return value 返回 ReCaptchaResponse class 的实例
ReCaptchaResponse 类有2个属性
$is_valid -- boolean 校验是否有效?
$error -- string 返回的错误代码
想了一下没能耐造轮子,还是拿来就用吧.找了一下,发现reCAPTCHA 这个非常不错,还支持声音,不过验证码看起来有点模糊.做一下笔记
先看看它的工作流程
1. The user loads the web page with the reCAPTCHA challenge JavaScript embedded.
2. The user's browser requests a challenge from reCAPTCHA. reCAPTCHA gives the user a challenge and a token that identifies the challenge.
3. The user fills out the web page form, and submits the result to your application server, along with the challenge token.
4. reCAPTCHA checks the user's answer, and gives you back a response.
5. If true, generally you will allow the user access to some service or information. E.g. allow them to comment on a forum, register for a wiki, or get access to an email address. If false, you can allow the user to try again.
然后,你得有个帐号,然后生成一个key,跟Google的adsense类似
移步这里去申请一个,然后生成你的key.
好,先在客户端加上一段js,这样就可以加载这个验证码了
这里有2种方式生成这个验证码,一个是在form中直接添加js代码
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=<your_public_key>"> </script> <noscript> <iframe src="http://api.recaptcha.net/noscript?k=<your_public_key>" height="300" width="500" frameborder="0"></iframe><br> <textarea name="recaptcha_challenge_field" rows="3" cols="40"> </textarea> <input type="hidden" name="recaptcha_response_field" value="manual_challenge"> </noscript>
它将在form中生成2个input, recaptcha_challenge_field (系统生成的值) 和 recaptcha_response_field (用户输入值)
引用
These APIs create two form fields: recaptcha_challenge_field is a hidden field that describes the CAPTCHA which is put on the page. recaptcha_response_field is a text field where the user can enter their answer.
还有一种方式是用ajax的方式生成,这里有个 demo.
在head中插入
<script type="text/javascript" src="http://api.recaptcha.net/js/recaptcha_ajax.js"></script>
然后用类似
Recaptcha.create("6LdIEwAA......", //这个是 public_key "recaptcha_div", // 生成位置的ID { theme: "red", //显示主题 callback: Recaptcha.focus_response_field //回调函数 });
来,在"recaptcha_div" 中生成的验证器.
关于界面的定制
我们可以用类似
var RecaptchaOptions = { theme : 'white', tabindex : 2 };
来定制界面,当然还包括语言,
需要注意的是,默认语言界面里头没有简体中文,我们可以用它的custom_translations 属性来自定义中文,我在js代码中找到了英文的定义,然后手工翻译一下
var RecaptchaStr_en = { visual_challenge : "Get a visual challenge", audio_challenge : "Get an audio challenge", refresh_btn : "Get a new challenge", instructions_visual : "Type the two words:", instructions_audio : "Type what you hear:", help_btn : "Help", play_again : "Play sound again", cant_hear_this : "Download sound as MP3", incorrect_try_again : "Incorrect. Try again." };
粗糙翻译一下,欢迎拍砖:
var RecaptchaOptions = { custom_translations : { visual_challenge : "获取图形验证码", audio_challenge : "获取声音验证码", refresh_btn : "获取新的验证码", instructions_visual : "输入2个单词:", instructions_audio : "输入您听到的:", help_btn : "帮助", play_again : "重播", cant_hear_this : "下载语音为MP3", incorrect_try_again : "错误. 请重试." } };
这里还有详细的 客户端 API,大家可以围观.
服务端部分
我写的程序是用php的,先看看php的api吧,Java的也有,但还没研究,回头再贴出来
首先你得下载它的依赖库
然后
require_once('recaptchalib.php'); $publickey = "..."; // 申请的public key echo recaptcha_get_html($publickey); //生成获取验证码的html代码,类似前面的用js生成
recaptcha_get_html 函数有3个参数
recaptcha_get_html($pubkey,$error ,$use_ssl)
$pubkey -- string. 必需. public key
$error -- string. 可选(默认null) 如果设置了值, reCAPTCHA 会显示这个错误的代码. 错误代码来自 ReCaptchaResponse->$error
$use_ssl -- boolean. 可选(默认false) 是否启用ssl
校验验证码
主要的方法是 recaptcha_check_answer()
require_once('recaptchalib.php'); $privatekey = "..."; $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if (!$resp->is_valid) { die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." . "(reCAPTCHA said: " . $resp->error . ")"); }
它有4个参数
$privkey -- string. 必需. 申请的 private key
$remoteip -- string. 必需. 用户的ip,格式:192.168.0.1
$challenge -- string. 必需recaptcha_challenge_field 字段的值,来自前台页面
$response -- string. 必需 recaptcha_response_field 字段值
Return value 返回 ReCaptchaResponse class 的实例
ReCaptchaResponse 类有2个属性
$is_valid -- boolean 校验是否有效?
$error -- string 返回的错误代码
评论
3 楼
二年级chuck
2013-08-08
哪里有Java的验证。
2 楼
xiha211
2010-02-26
这个还挺详细的,thanks
1 楼
meteormatt
2009-12-19
没看懂.
不好意思.
不好意思.
发表评论
-
silex 汉化文件
2009-06-03 22:03 1257今天看了一下新闻介绍的silex 这个项目 看起来样子不错, ... -
CakePhp phpThumb Compenet
2009-05-07 10:40 2199参照了一下官网的国际友人的一篇帖子修改的 请先将phpthu ... -
cacti安装笔记
2009-04-07 10:45 2386今天同事装cacti有些问题,让我帮忙装,顺便记一下笔记 我 ... -
在OSX下安装php oracle instanclient
2009-03-12 13:54 1446项目需要用php + oracle 在本机调试需要装orac ... -
关注PHP的ORM框架 -- propel
2009-02-13 10:47 5452最近在看PHP的 rails式的框架 symfony,这是个整 ... -
补充一个jqgrid的demo php后台
2009-02-11 09:28 10361之前写了一个,感觉后台代码不是很好理解,再发一个吧 09-03 ... -
Mac apache2 mod_fcgid 权限问题
2009-02-03 11:20 1930呃,原来一直被这个组合的 403问题折磨,文件夹权限都正确.反 ... -
刷公司日志 php 脚本
2009-01-21 16:41 1311#!/usr/bin/env php /** * 自动 ... -
mac下用macport 安装lighttpd + php +fastcgi + freetds笔记
2009-01-06 19:45 25091.安装Macports 2.更新port sudo port ... -
MySQL数据库版本控制 ---ruckusing
2008-12-01 08:27 1957最近在做一个项目的时候偶然遇到这个这个 ruckusing 按 ... -
phptelnet for cakephp
2008-11-20 15:16 2006最近有用到在PHP telnet到远程的服务器上校验用户密码的 ... -
搞定osx下的freetds
2008-10-18 13:51 1497在OSX下开发PHP+Mssql是需要有freetds的 先 ... -
Xdebug的远程调试搞明白了
2008-10-17 22:39 12924琢磨了1天终于给搞明白了 懒得自己编译的话下面有编译好的包 ... -
PHP 5.3的新特点
2008-08-08 02:08 1098原文 :http://www.iteye.com/news/3 ... -
一个PHP动态数据库基础类
2008-08-14 02:52 1098参考:http://www.ibm.com/developer ... -
Php.ini 配置(中文)
2008-08-20 01:47 1449原文:http://lamp.linux.gov.cn/Web ... -
PHP-ExcelReader 安装&使用
2008-09-16 08:29 10522原文:http://sourceforge.net/docma ... -
兼容PHP4的json_Encode
2008-09-16 08:23 2501忘了从哪里弄来的了 if (!function_exis ... -
超强php的firebug插件
2008-09-16 08:22 1852这个的主要作用是输出php的调试信息哦.先看看截图 Fire ... -
一个PHP动态数据库基础类
2008-09-16 08:18 1558参考:http://www.ibm.com/developer ...
相关推荐
标题中的“Python-以91的准确率击败最新版本的ReCaptcha”表明这是一个关于使用Python编程语言,通过机器学习技术来解决谷歌ReCaptcha验证的项目。ReCaptcha是谷歌提供的一种反垃圾机器人服务,它通常用于确保网络...
在网络安全领域,验证码(CAPTCHA)是用于防止恶意自动化程序(如机器人)滥用服务的一种重要工具。...通过学习和实践,你可以更好地理解前后端之间的交互,以及如何有效地利用reCaptcha来提高你的网站的安全性。
因此,这些工具更适合个人学习和研究,而非大规模的自动化操作。 总的来说,解决reCaptcha验证框的问题通常涉及对网络请求的深度理解和操作,包括理解HTTP请求头和网络流量的拦截。通过使用`Header Editor`和`...
reCAPTCHA是Google推出的一种高级验证码系统,它通过人工智能和机器学习技术来区分人与机器,提高了用户体验,同时保持了安全性。 首先,让我们详细了解reCAPTCHA的工作原理。reCAPTCHA会向用户展示一个挑战,如...
在后台,Recaptcha v2使用先进的机器学习技术来分析用户行为并判断其真实性。 **Recaptcha测试** 在实施Recaptcha时,开发者需要进行测试以确保其正常工作。Google提供了测试工具和API,允许开发者在本地环境或...
易语言-reCAPTCHA易语言验证...综上所述,"易语言-reCAPTCHA易语言验证例程"涵盖了网络通信、数据解析、安全编程等多个方面,对于想要学习如何在易语言环境中集成高级在线服务的开发者来说,这是一个有价值的实践项目。
在`spring-boot-recaptcha-demo-master`这个压缩包中,包含了完整的Spring Boot应用示例,你可以直接运行`mvn clean spring-boot:run`命令来查看和学习这个集成reCAPTCHA的实例。这个例子将帮助你更好地理解和实践...
每次解决我们的验证码时,人工就可以帮助对文本进行数字化,为图像添加注释以及构建机器学习数据集。 反过来,这有助于保存书籍,改进地图并解决难于解决的AI问题。 ##用$ npm安装$ node app.js 造访:localhost...
在本文中,我们将深入探讨如何使用Python和机器学习技术来以85%的准确度解决Google的音频reCaptcha验证码。Google的reCaptcha是一种旨在防止自动化机器人进行恶意活动的安全验证系统,它通过向用户播放一段含糊的...
6. **自动化挑战解决**:reCAPTCHA有时会包含额外的图像或滑动验证,Buster可能还包括了处理这些挑战的机制,通过机器学习算法自动识别和解决它们。 7. **持续更新与维护**:随着reCAPTCHA系统的变化,Buster需要...
通过机器学习和风险分析技术,reCAPTCHA能够区分人类和机器人,只有在必要时才向用户显示挑战。 7. **测试与调试**:为了确保reCAPTCHA在游戏框架中的正确工作,开发者需要进行单元测试和集成测试,确保在各种场景...
**ASP.NET MVC reCAPTCHA与电子邮件确认** 在ASP.NET MVC框架中,开发人员经常需要确保网站的安全性,防止...结合`ASP-NET-MVC-reCAPTCHA-and-Email-Confirmation.pdf`文档,可以更深入地学习这两种机制的实施细节。
这不仅有利于学习Haskell和Snap框架,也提供了自定义验证逻辑的可能性。 总结来说,`snaplet-recaptcha`是Haskell开发者在构建Web应用时对抗自动化攻击的强大工具。它结合了Snap框架的灵活性、Heist模板引擎的便利...
描述中提到的“Google 人机验证(reCaptcha)无法显示解决方案”是针对谷歌提供的reCAPTCHA服务可能出现的问题。reCAPTCHA是一种反垃圾机器人技术,通常用于防止自动化程序进行恶意操作,如填写表单或发送垃圾邮件。当...
该插件利用先进的图像识别技术和机器学习算法,自动解析并正确输入验证码,极大地简化了用户体验。这在处理大量需要验证码验证的网页操作时,尤其显得便利。 然而,值得注意的是,自动识别验证码的工具可能引发一些...
本资源".Net验证码识别程序机器学习.zip"包含了一个名为"ReCapcha-master"的项目,它很可能是一个针对谷歌的reCAPTCHA验证码识别的解决方案。 1. **机器学习基础**:机器学习是人工智能的一个分支,通过让计算机从...
而在一些场景中,可以通过一些游戏化的手段如ESP Game或ReCaptcha来利用用户的无意识输入来获取大量无标签数据。半监督学习的目标是从有标签和无标签数据中学习得到一个更好的分类器。 半监督学习分为两大类,归纳...
特别是,我们将自动收集测试数据,并应用人工智能的机器学习概念来学习收集的测试数据,人工智能是近年来最流行的技术; 以便计算机可以判断Google本身提供的单词并选择图片。 为此,我们首先考虑如何通过机器学习...
对于开发者来说,这是一个了解如何将第三方服务集成到内容管理系统中的好案例,也是一个深入学习.NET开发和插件机制的实践机会。总的来说,这个开源插件不仅提升了Kooboo CMS的安全性,也为社区带来了更多的创新可能...
reCAPTCHA的工作原理基于机器学习和人工智能,它通过分析用户的行为模式来判断其是否为真人。例如,系统会检查鼠标移动的轨迹、点击的速度以及用户在页面上的停留时间等。reCAPTCHA v3不再需要用户完成图像识别任务...