Вот учебник, в котором показано, как объединить проверку формы jQuery с reCAPTCHA. http://snipplr.com/view/15563/jquery-validating-recaptcha-with-ajax/PHP - вопрос об использовании reCAPTCHA с jQuery
Основываясь на моем понимании, приведенный выше учебник фактически выполняет проверку на стороне клиента через aJax, который взаимодействует с сценарием сервера reCAPTCHA.
После того, как проверка успешна, я использую следующий код заимствованный из комментариев:
$('#formID').validate({
submitHandler: function(form) {
if(validateCaptcha()){ // Submit form
offerForm.ajaxSubmit(); } } });
представить форму и увидеть, пожалуйста, строка 21 из исходного кода:
$("form").attr("action", "http://action/to/the/form_handler.php");
Мой вопрос является ли я ДОЛЖНЫ называть recaptcha_check_answer внутри form_handler.php с переданными в параметрах
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" }
}
}
});
Вот проблема у меня есть: Если форма проходит проверку на стороне клиента, то он не не вызывает подтверждать .php и останавливается после проверки. спасибо
Если вы проверяете клиентскую сторону, злоумышленник может ее подделать. –
Здравствуйте, Rup, Я согласен с тобой, и у меня возникнет проблема, как вы уже упоминали: «в любом случае отклоняйтесь серверами Recaptcha». Теперь вопрос в том, как я могу объединить мою проверку формы jQuery с recaptcha? Другими словами, когда пользователь нажимает кнопку отправки, сначала убедитесь, что все остальные поля верны. Затем мне нужно проверить проверку и затем выполнить действие формы. Я действительно не знаю, как я могу достичь двух вещей за один раз. спасибо – q0987
Я не думаю, что есть что-то, что можно комбинировать? Вы просто позволяете jQuery проверять все ваши поля, как обычно, а затем включать recaptcha в сообщение. Ваш обработчик post должен проверять капчу, а затем возвращать ошибку, если catpcha неверна так же, как вы возвращаете любую другую ошибку из вашего обработчика сообщений. Я думаю, вам нужно будет обновить элемент управления captcha, если произошла ошибка, но потом я ожидаю, что вам понадобится обновить контроль captcha в любом случае для следующей операции ajax для пользователя.Разве это не то, что вы делаете? Какие у вас проблемы? – Rup