PHP - 关于将 reCAPTCHA 与 jQuery 结合使用的问题

2023-12-11

这是一个教程,说明如何将 jQuery 表单验证与 reCAPTCHA 结合起来。http://snipplr.com/view/15563/jquery-validating-recaptcha-with-ajax/

根据我的理解,上面的教程实际上是通过与服务器 reCAPTCHA 脚本通信的 aJax 进行客户端验证。

验证成功后,我使用了以下借用注释的代码:

$('#formID').validate({ 
submitHandler: function(form) { 
 if(validateCaptcha()){ // Submit form 
offerForm.ajaxSubmit(); } } });

提交表单请看原代码第21行:

$("form").attr("action", "http://action/to/the/form_handler.php");

我的问题是我是否必须在 form_handler.php 中调用 recaptcha_check_answer 并传入参数

challengeField = $("input#recaptcha_challenge_field").val();
responseField = $("input#recaptcha_response_field").val();

如果没有,那么人们可以通过更改验证程序轻松避免 reCAPTCHA。 看来我们总是要同时进行客户端+服务器验证,这是同样的想法。

如果我的理解有误,请纠正我的想法。

// 提供我遇到的问题的详细信息 ///

    <code>
    <form id="regFormBody" method="post" action="verify.php">
    ...
    </code>

      $("#regFormBody").validate({
          debug: true,
          errorPlacement: function (error, element) {
            error.insertAfter(element.parents('div.collection:first'));
          },

          rules: {
            loginemail: { required: true, email: true, rangelength: [4, 32] },
            password: { required: true, rangelength: [8, 30], passwordPattern: true },
            confirmpassword: { required: true, rangelength: [8, 30], equalTo: "#password" }
          }
          }
        });

这是我遇到的问题: 如果表单通过了客户端验证,那么它根本不会触发 verify.php 并在验证后停止。 谢谢


是的,这对我来说听起来是正确的。是的,您肯定需要在服务器上验证验证码。我根本不喜欢验证验证码客户端的想法,并且我认为您也不希望在用户可以获取的脚本中发布您的 reCaptchi API 密钥。另外,我预计相同验证码值的第二次验证(客户端检查后的服务器端检查)无论如何都会被 recaptcha 的服务器拒绝(从原始博客的评论中证实了这一点).

因此,我认为您需要将验证码发布到 AJAX 操作处理程序,它应该执行验证以及您的操作。您可以在提交之前验证用户是否已输入验证码,但在我看来,您根本不应该尝试在客户端验证它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP - 关于将 reCAPTCHA 与 jQuery 结合使用的问题 的相关文章

随机推荐

  • bearingTo(Location dest) 到底计算什么?

    什么是bearingTo Location dest 具体计算一下 谁能解释一下吗 提前致谢 protected void onCreate Bundle savedInstanceState DestinationLoc setLatit
  • Liquibase 锁 - 原因?

    当我在 Oracle 服务器上运行大量 liquibase 脚本时 我得到了这个信息 某个计算机就是我 Waiting for changelog lock Waiting for changelog lock Waiting for ch
  • 有没有办法实例化匿名内部类中定义的类?

    我随机编写代码并遇到一个问题 如何实例化在匿名内部类中定义的类 E 如下所示 喜欢 A c new A class E Statements 您无法编写使用普通调用的程序new为此 为了实例化一个类 它必须有一个name 正如该术语所暗示的
  • 调整 PDF 输出中的 R Markdown 标题位置

    我正在创建 R Markdown 报告 但找不到将标题移至页面下方的方法 这是一个最小的例子 我想将标题向下移动 5 厘米 title This is my title to display at 5cm below the top out
  • 角度日期管道在文本框中无法正常工作

    我的日期管道无法在 Angular 中工作 我只想显示为这种格式 MM dd yyyy 如何解决 打字稿 this testDate new Date this singleUser createDate console log this
  • AttributeError:“int”对象没有属性“_sa_instance_state”

    我正在使用 Flask 制作论坛模板 当我尝试使用表单在浏览器中创建新线程时 SQLAlchemy 抛出 AttributeError 当我尝试实现与论坛到线程的一对多关系和与线程到用户的一对多关系时 问题出现了 模型 py class U
  • 以编程方式创建 UITableViewController

    这就是我尝试过的 屏幕上没有显示任何内容 并且您应该实现的 UITableView 方法也没有被调用 void loadView UIView view UIView alloc initWithFrame UIScreen mainScr
  • PriorityQueue 是否允许对队列中已有的元素进行重新排序?

    我想增加或降低项目的优先级PriorityQueue 例如 我可能正在下载一长串图像 突然想要第三十个图像具有最高优先级 据我了解 poll 始终返回具有最低值的队列对象 由比较器确定 如果我可以降低队列中已有项目的值 例如 如果该值由in
  • 没有 mod_rewrite 的 php Zend / MVC

    我在网上的许多博客中都看到过它 但我相信应该在这里讨论它 当我们有 PHP 中的 MVC 框架 我对 ZEND 感兴趣 但我们的主机不提供 mod rewrite 时我们该怎么办 有什么 捷径 吗 我们可以以任何方式转移控制权 以便在页面之
  • 在不编码的情况下设置 ASP.NET Core TagHelper 属性

    我想添加integrity属性到我的标签助手中的脚本标签 它包含一个 我不想编码的标志 这是我的标签助手 HtmlTargetElement Attributes script public class MyTagHelper TagHel
  • 任务集-python

    我有一台双四核机器 所以 我的CPU列表是0 7 我正在尝试从 python 运行任务集 mapping 2 2 2 2 2 for i in range 0 len mapping cmd taskset c str mapping r
  • 如何在 Python Turtle 中定位文本?

    例如 write First Last True align right 但具有特定的 x y 坐标 随着使用像这样的命令setposition aka goto setx or sety 在你呼叫之前定位你的乌龟write the mov
  • ggplot2 热图,带有范围值的颜色

    我想在 ggplot2 中制作热图 我的玩具数据和代码是 set seed 12345 dat lt data frame Row rep x LETTERS 1 5 times 10 Col rep x LETTERS 1 10 each
  • Flutter:obviousText,如何停止显示键入的字符

    当在使用 obliqueText true 的字段中输入文本时 每个输入的字符都会在转换为项目符号之前短暂显示 你如何阻止这种行为 这是fixed在网络 桌面上 但没有在移动设备上执行此操作的选项 您可以按照此建议创建自定义 TextEdi
  • 如何使用 jQuery 将 html 表格单元格更改为文本输入

    所以我有一个表格 如下所示 tbody thead tr th Date Registered th th Name th th Organisation th th Email th th Job Title th th LSA th t
  • 一旦我限制我的 Google API 密钥,它就不再起作用

    我有一个正在使用的 Google API 密钥 并且在 Google 地图上运行良好 我现在尝试在我的 Android 应用程序中使用 Google 地图距离矩阵 API 并且只有当我不将密钥限制在 Android 应用程序上时 我才能使其
  • WordPress 中的正则表达式错误分隔符

    我是正则表达式的新手 我有一个简单的疑问 我在 wordpress 中找到了这段代码 self preg replace wp admin i self 根据php net 上的文档 不允许作为分隔符 有人可以解释一下代码吗 你尝试过吗 从
  • 将文档字符串设置为 def 内的表达式

    我想设置func doc 作为表达式 within def def f My function help Set the docstring def g My function help An expression so not read
  • Azure DevOps:代表另一个用户创建评论

    我正在寻找一种代表另一个用户 模拟另一个用户 向工作项添加评论的方法 VssConnection connection new VssConnection new Uri url new VssClientCredentials WorkI
  • PHP - 关于将 reCAPTCHA 与 jQuery 结合使用的问题

    这是一个教程 说明如何将 jQuery 表单验证与 reCAPTCHA 结合起来 http snipplr com view 15563 jquery validating recaptcha with ajax 根据我的理解 上面的教程实