使用Mason为网站添加免费Captcha验证码
2010-04-16 19:33
375 查看
介绍:
CAPTCHA 是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,已由卡内基梅隆大学注册商标。是一种区分用户是计算机和人的公共全自动程序。在一个CAPTCHA测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。
目前,reCAPTCHA是一种由CAPTCHA的发明者所推荐的官方CAPTCHA软件。
reCAPTCHA 计画的主要目的是利用 CAPTCHA 技术来帮助典籍数位化的进行,这个计画将由书本扫描下来无法准确的被光学文字辨识技术识别的文字显示在 CAPTCHA 问题中,让人类在回答 CAPTCHA 问题时用人脑加以识别。
运作方式为了验证人类所输入的文字是正确的,而不是随意输入,有两个字会被显示出来;一个是光学文字辨识软体无法辨别的字,另一个是一个已经知道正确答桉的字。如果使用者正确的回答出已知正确答案的字,那麽就假设所输入的另一个光学辨识软体无法辨识的字是认真的检视后被输入而非随便输入。
reCAPTCHA 问题的所需的文字图片,首先会由 reCAPTCHA 计画网站利用 Javascript API 取得,在终端使用者回答问题后,伺服器再连回 reCAPTCHA 计画的主机验证使用者的输入是否正确。 reCAPTCHA 计画提供了许多程式语言的函式库,让整合 reCAPTCHA 服务到现有程式的过程可以轻鬆些。除非有较大的频宽需求,否则 reCAPTCHA 原则上是一个免费的服务。
使用:
到http://recaptcha.net/whyrecaptcha.html网站注册一个帐号,为需要添加验证码的站点添加一个申请,然后生成一个公钥和私钥,例如hfahe.cn如下:
安装好Perl的Captcha::reCAPTCHA模块,Mason页面代码如下:
生成的页面如图:
这个时侯可以输入验证码,点击提交进行输入的验证。
CAPTCHA 是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,已由卡内基梅隆大学注册商标。是一种区分用户是计算机和人的公共全自动程序。在一个CAPTCHA测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。
目前,reCAPTCHA是一种由CAPTCHA的发明者所推荐的官方CAPTCHA软件。
reCAPTCHA 计画的主要目的是利用 CAPTCHA 技术来帮助典籍数位化的进行,这个计画将由书本扫描下来无法准确的被光学文字辨识技术识别的文字显示在 CAPTCHA 问题中,让人类在回答 CAPTCHA 问题时用人脑加以识别。
运作方式为了验证人类所输入的文字是正确的,而不是随意输入,有两个字会被显示出来;一个是光学文字辨识软体无法辨别的字,另一个是一个已经知道正确答桉的字。如果使用者正确的回答出已知正确答案的字,那麽就假设所输入的另一个光学辨识软体无法辨识的字是认真的检视后被输入而非随便输入。
reCAPTCHA 问题的所需的文字图片,首先会由 reCAPTCHA 计画网站利用 Javascript API 取得,在终端使用者回答问题后,伺服器再连回 reCAPTCHA 计画的主机验证使用者的输入是否正确。 reCAPTCHA 计画提供了许多程式语言的函式库,让整合 reCAPTCHA 服务到现有程式的过程可以轻鬆些。除非有较大的频宽需求,否则 reCAPTCHA 原则上是一个免费的服务。
使用:
到http://recaptcha.net/whyrecaptcha.html网站注册一个帐号,为需要添加验证码的站点添加一个申请,然后生成一个公钥和私钥,例如hfahe.cn如下:
安装好Perl的Captcha::reCAPTCHA模块,Mason页面代码如下:
<html> <head> <script type="text/javascript" src="http://api.recaptcha.net/js/recaptcha_ajax.js"></script> </head> <body> <form method="post"> <%perl> print $c->get_html( '6LdTBwMAAAAAAPXITHJFVFPQrHrppQgq6Fy1ul2e' ); </%perl> <input type="submit" value="verify_sumbit" name="verify_sumbit"/> </form> </body> </html> <%init> # author: jiangyujie my $c = Captcha::reCAPTCHA->new; if($ARGS{verify_sumbit}) { my $challenge = $ARGS{recaptcha_challenge_field}; my $response = $ARGS{recaptcha_response_field}; my $ip = '192.168.1.195'; # 提交请求的IP地址,Captcha服务器用于分辨请求,可以用$r->connection->remote_ip获得用户IP my $result = $c->check_answer( '6LdTBwMAAAAAAGP2oa-pCR9xwmKxjSIv4AOifsU2', $ip, $challenge, $response ); print $result->{is_valid} ? '答对了!' : "对不起,答错了!"; } </%init> <%once> use Captcha::reCAPTCHA; </%once>
生成的页面如图:
这个时侯可以输入验证码,点击提交进行输入的验证。
相关文章推荐
- 在Yii中使用Captcha验证码
- 使用compass给网站添加搜索框
- Yii使用Captcha验证码的方法
- IIS网站或系统验证码不显示问题——"使用了托管的处理程序,但是未安装或未完整安装 ASP.NET"
- php使用curl模拟登录带验证码的网站
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- 免费使用第三方验证码
- 如何使用免费餐饮收银管理系统搭建一个外卖订餐平台网站?
- 使用htmlunit工具来实现对新浪的模拟登录获取cookie操作(也可适用其他网站,最好是无验证码的)
- 共享一个免费文件管理程序,可以嵌入你自己的网站中使用!
- 网络硬盘网站开始公测,免费注册使用!!!
- 使用BotDetect Captcha在SpringMCV项目中生成验证码图片
- Yii使用Captcha验证码的方法
- IIS网站或系统验证码不显示问题——"使用了托管的处理程序,但是未安装或未完整安装 ASP.NET"
- 给网站添加免费Https SSL证书
- 首次使用免费网站空间
- Beego下如何使用captcha生成验证码
- 如何给网站添加SSL证书(免费)