angular recaptcha

2025-12-07 0 107

不受欢迎

如果您有兴趣继续使用它,请提供此存储库。

Angularjs recaptcha

在您的AngularJS项目中添加recaptcha。

演示http://vividcortex.github.io/angular-recaptcha/

安装

手动的

下载最新版本。

鲍尔

 bower install --save angular-recaptcha

NPM

 npm install --save angular-recaptcha

用法

有关快速使用示例,请参见演示文件。

 IMPORTANT: Keep in mind that the captcha only works when used from a real domain
and with a valid re-captcha key, so this file won\'t work if you just load it in
your browser.
  • 首先,您需要为您的域获得有效的recaptcha键。访问http://www.go*ogl**e.com/recaptcha。

  • 包括VC-Recaptcha脚本,并使您的Angular应用取决于vcRecaptcha模块。

 < script type =\" text/javascript \" src =\" angular-recaptcha.js \" > </ script > 
 var app = angular . module ( \'myApp\' , [ \'vcRecaptcha\' ] ) ;
  • 之后,您可以在视图中放置一个用于验证码小部件的容器,并在此上调用vc-recaptcha指令:
 < div
    vc-recaptcha
    key =\" \'---- YOUR PUBLIC KEY GOES HERE ----\' \"
> </ div >

在这里, key属性传递给指令的范围,因此您可以使用范围中的属性或仅需硬编码字符串。请小心使用您的公钥,而不是私钥。

表单验证

默认情况下,如果使用formControl放置在表单中,则需要检查验证码以使表格有效。如果未检查验证码(如果没有选中用户检查框或支票已过期),则表格将被标记为无效。验证密钥是recaptcha 。您可以通过将required属性设置为false或将评估为false的范围的变量来选择退出此功能。任何其他值或省略属性都将选择进入此功能。

如果不需要验证码,您还可以以程序为程序触发验证,例如:

 vcRecaptchaService . execute ( widgetId ) ;

如果没有提供小部件ID,则将执行第一个创建的小部件。

响应验证

要从服务器验证此对象,您需要使用“验证”部分中描述的API。验证不在此工具的范围之内,因为必须在服务器端执行此操作。

您可以简单地为ng-model提供一个值,该值将分别在响应中分别进行动态填充和清除。当您想要响应的值时,可以从传递给ng-model范围的变量中获取它。它的工作方式就像将ng-model添加到形式的其他输入中一样。

...
  < form name =\" myForm \" ng-submit =\" mySubmit(myFields) \" >
  ...
  < div
      vc-recaptcha
      ng-model =\" myFields.myRecaptchaResponse \"
  > </ div >
  ...
  </ form >
...
  ...
  $scope . mySubmit = function ( myFields ) {
    console . log ( myFields . myRecaptchaResponse ) ;
  }
  . . .

或者,您可以通过编程方式获得需要发送到服务器的响应,请使用vcRecaptchaService Angular服务的方法getResponse() 。此方法接收一个可选的参数widgetId ,可用于获取特定的recaptcha小部件的响应(如果您呈现多个窗口小部件)。如果没有提供小部件ID,则将返回第一个创建的小部件的响应。

 var response = vcRecaptchaService . getResponse ( widgetId ) ; // returns the string response

建议使用ng-model用于正常使用,因为该值直接通过指令将其绑定到Recaptcha实例,并且无需管理或传递witgetGetID

其他参数

您可以选择将验证码使用的theme作为HTML属性:

    < div
        vc-recaptcha
        ng-model =\" gRecaptchaResponse \"
        theme =\" ---- light or dark ---- \"
        size =\" ---- compact, normal or invisible ---- \"
        type =\" \'---- audio or image ----\' \"
        key =\" \'---- YOUR PUBLIC KEY GOES HERE ----\' \"
        lang =\" ---- language code ---- \"
    > </ div >

语言代码:https://developers.google.com/recaptcha/docs/language

在这种情况下,我们指定验证码应使用名为Light的主题。

听众

您可以将三个听众与指令, on-createon-successon-expire一起使用。

  • on-create :在创建小部件之后,它就被称为。它会收到一个小部件ID,如果您的网站中有一个以上的recaptcha,这可能会有所帮助。
  • 成功:一旦用户解决验证码,就被称为。它接收您需要验证响应所需的响应字符串。
  • on-Expire :当验证码响应到期时,用户需要求解新的验证码。
 < div
    vc-recaptcha
    key =\" \'---- YOUR PUBLIC KEY GOES HERE ----\' \"
    ng-model =\" gRecaptchaResponse \"
    on-create =\" setWidgetId(widgetId) \"
    on-success =\" setResponse(response) \"
    on-expire =\" cbExpiration() \"
    lang =\"\"
> </ div >

例子

 app . controller ( \'myController\' , [ \'$scope\' , \'vcRecaptchaService\' , function ( $scope , recaptcha ) {
    $scope . setWidgetId = function ( widgetId ) {
        // store the `widgetId` for future usage.
        // For example for getting the response with
        // `recaptcha.getResponse(widgetId)`.
    } ;

    $scope . setResponse = function ( response ) {
        // send the `response` to your server for verification.
    } ;

    $scope . cbExpiration = function ( ) {
        // reset the \'response\' object that is on scope
    } ;
} ] ) ; 

固定令牌

如果您想使用安全令牌将其与网站密钥一起作为HTML属性将其通过。

 < div
    vc-recaptcha
    key =\" \'---- YOUR PUBLIC KEY GOES HERE ----\' \"
    stoken =\" \'--- YOUR GENERATED SECURE TOKEN ---\' \"
> </ div >

请注意,您必须使用私钥的私钥加密您的代币!要了解有关安全令牌以及如何生成和加密它们的更多信息,请参考Recaptcha文档。

服务提供商

您可以使用vcRecaptchaServiceProvider在应用程序的配置函数中配置recaptcha服务。这是设置您的recaptcha站点密钥,主题,stoken,大小并输入一个位置而不是每个vc-recaptcha指令元素实例的方便方法。服务提供商中定义的默认值将被该实例的VC-Recaptcha指令元素传递给VC-Recaptcha指令元素的任何值。

 myApp . config ( function ( vcRecaptchaServiceProvider ) {
  vcRecaptchaServiceProvider . setSiteKey ( \'---- YOUR PUBLIC KEY GOES HERE ----\' )
  vcRecaptchaServiceProvider . setTheme ( \'---- light or dark ----\' )
  vcRecaptchaServiceProvider . setStoken ( \'--- YOUR GENERATED SECURE TOKEN ---\' )
  vcRecaptchaServiceProvider . setSize ( \'---- compact, normal or invisible ----\' )
  vcRecaptchaServiceProvider . setType ( \'---- audio or image ----\' )
  vcRecaptchaServiceProvider . setLang ( \'---- language code ----\' )
} ) ;

语言代码:https://developers.google.com/recaptcha/docs/language

您也可以一次设置所有值。

 myApp . config ( function ( vcRecaptchaServiceProvider ) {
  vcRecaptchaServiceProvider . setDefaults ( {
    key : \'---- YOUR PUBLIC KEY GOES HERE ----\' ,
    theme : \'---- light or dark ----\' ,
    stoken : \'--- YOUR GENERATED SECURE TOKEN ---\' ,
    size : \'---- compact, normal or invisible ----\' ,
    type : \'---- audio or image ----\' ,
    lang : \'---- language code ----\'
  } ) ;
} ) ;

注意:即使以前设置,省略的任何值也将是不确定的。

与旧的recaptcha有所不同

  • 如果要强制一种语言,则需要将hl参数添加到recaptcha api的脚本( ?onload=onloadCallback&render=explicit&hl=es )。
  • recaptcha不再使用参数Tabindex ,其用法没有效果。
  • 不再支持对输入文本的访问。
  • 挑战不再由recaptcha提供。响应文本与私钥和用户的IP地址一起使用以进行验证。
  • 现在,recaptcha处理图像和音频之间的切换。
  • 现在,帮助显示由recaptcha处理。

最近的变形金属

  • 3.0.0-删除了包括Google Recaptcha API的需要。
  • 2.2.3-创建验证码元素后删除清理
  • 2.0.1-使用ng -route和recaptcha时固定的ONLOAD将其放置在辅助视图中。
  • 2.0.0-改写服务以支持新的recaptcha
  • 1.0.2-在服务中添加了额外的Recaptcha对象方法,即switch_typeshowhelp ,等。
  • 1.0.0- key属性现在是指令的范围属性
  • destroy()方法添加到服务中。感谢@Endorama。
  • 我们添加了一种不同的集成方法(请参见Demo/2.HTML),该方法更安全,因为它不依赖于RECAPTCHA的重新加载事件的超时。感谢@sboisse报告问题并提出解决方案。
  • 现在,该版本是使用gruntjs构建的,因此,如果您在项目中使用源文件( src目录),则现在应该在Release目录中使用文件。

下载源码

通过命令行克隆项目:

git clone https://github.com/VividCortex/angular-recaptcha.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 angular recaptcha https://www.zuozi.net/31812.html

deno_fcgi
上一篇: deno_fcgi
ComBoost
下一篇: ComBoost
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务