#javascript #recaptcha
#javascript #recaptcha
Вопрос:
Я интегрировал Recaptcha v3 в нашу форму обратной связи с клиентами. При нажатии кнопки отправки я передаю токен captcha вместе с текстом обратной связи и дополнительным электронным письмом в серверный API для проверки. Это работает нормально.
Но я мог бы запустить API через консоль браузера на той же странице в цикле for, как показано ниже, и оценка ответа для триггеров равна 0,9. Как мне предотвратить это? Является ли это допустимым вариантом использования captcha?
function createreq() {
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "API_URL_HERE", true);
xhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
xhttp.onreadystatechange = function () {
if (this.readyState == 4 amp;amp; this.status == 200) {
console.log(this.responseText);
}
};
let param = {
comment: "from browser console with google recaptcha",
useremail: "test@gmail.com",
language: "English",
gCaptchaResponse: window.grecaptcha.getResponse()
};
xhttp.send(jsonToQueryString(param));
}
function jsonToQueryString(json) {
return ''
Object.keys(json).map(function (key) {
return encodeURIComponent(key) '='
encodeURIComponent(json[key]);
}).join('amp;');
}
for (var i = 0; i < 10; i ) {
window.grecaptcha.execute().then(function () {
createreq();
});
}