Обработка формы Securimage CAPTCHA - PullRequest
0 голосов
/ 24 марта 2011

В настоящее время я использую securimage на своем веб-сайте для капчиПример, приведенный в руководстве по быстрому запуску , работает отлично.Но вместо того, чтобы указывать обрабатывать страницу и отображать случайный оператор, я хотел бы, чтобы он вел себя так же, как в демонстрационной странице , которая отображает окно сообщения, когда на той же странице введена неправильная капча.Я искал исходный код для 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;
}

Ответы [ 2 ]

0 голосов
/ 24 марта 2011

Вы можете проверить CAPTCHA на стороне сервера, а затем вернуть параметр POST / GET, который указывает PHP-сценарию, что пользователь ввел неверную CAPTCHA.Например:

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

Я не знаю об этой безопасности, но это должно быть возможно.

0 голосов
/ 24 марта 2011

Тест не может быть выполнен на стороне клиента в javascript, потому что клиент не может знать ответ.Если бы это было так, для бота было бы тривиально обойти капчу.

Как сказал @dagon, демонстрация не выполняет проверку на странице, а перезагружает ту же страницу со вставленным html-окном сообщения об ошибке.

...