【问题标题】:Securimage CAPTCHA Form ProcessingSecurimage CAPTCHA 表单处理
【发布时间】:2015-03-19 13:49:25
【问题描述】:

我目前正在我的网站上为验证码实施 securimage。 the quickstart guide 中给出的示例运行良好。但不是直接处理页面并回显一个随机语句,我希望它的行为方式与the demo page 中的相同,当在同一页面上输入错误的验证码时会显示一个消息框。我查看了启用此功能的 javascript 或 Jquery 的源代码,但找不到任何东西。任何可以实现此功能的指针。

我想要实现的流程是;

->输入的表单->转到“process.php”->如果“验证码的值错误”-“在主表单中回显”。如何在表单本身上显示 echo 语句?这就是我想知道的。不将用户引导至“process.php”文件并显示错误回显。

这是确定输入到验证码中的值是正确还是错误的部分过程代码。

    include_once $_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';

$securimage = new Securimage();

if ($securimage->check($_POST['captcha_code']) == false) {
  // the code was incorrect
  // you should handle the error so that the form processor doesn't continue

  // or you can use the following code if there is no validation or you do not know how
  $captchaerror = "The security code entered was incorrect.<br /><br />";
  exit;
}

【问题讨论】:

  • 无js,php简单回显文本
  • 您不需要Java Script,您可以在用户提交错误的验证码时回显消息。

标签: php forms captcha


【解决方案1】:

您可以在服务器端检查 CAPTCHA,然后返回一个 POST/GET 参数,该参数表明用户输入了错误的 CAPTCHA 的 PHP 脚本。例如:

<?php
    if ($_GET['error']="cap")
        echo "captch error";
    else
    {}//dont echo
?>

我不知道这个安全图像,但这应该是可能的。

【讨论】:

    【解决方案2】:

    测试不能在 javascript 中进行客户端,因为不允许客户端知道答案。如果是这样,机器人绕过验证码将是微不足道的。

    就像@dagon 所说,该演示不是在页面中执行检查,而是在插入错误消息框 html 的情况下重新加载同一页面。

    【讨论】:

      猜你喜欢
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多