Какую максимально эффективную и простую капчу посоветуете?

Для защиты от спама и ботов на веб-сайте можно использовать простую капчу на основе математического выражения. Такая капча будет легко воспринимаема человеком, но достаточно сложна для распознавания автоматизированными программами.

Одним из примеров такой капчи может быть создание арифметического выражения, например, «Решите уравнение: 5 + 3». Пользователю нужно будет ввести результат вычисления (в данном случае, 8) в специальное поле. При этом, каждый раз генерируется новое математическое выражение, чтобы усложнить задачу для ботов.

Для реализации такой капчи на веб-сайте с использованием JavaScript, можно написать функцию, которая будет генерировать случайное арифметическое выражение, выводить его на страницу и проверять ответ пользователя. Пример кода:

function generateCaptcha() {
    const num1 = Math.floor(Math.random() * 10);
    const num2 = Math.floor(Math.random() * 10);
    const operator = ['+', '-', '*'][Math.floor(Math.random() * 3)];
  
    const expression = `${num1} ${operator} ${num2}`;
    const result = eval(expression);
  
    const captchaContainer = document.getElementById('captchaContainer');
    captchaContainer.textContent = `Решите уравнение: ${expression}`;
  
    return result;
}

function checkCaptcha() {
    const userAnswer = parseInt(document.getElementById('captchaInput').value, 10);
    const correctAnswer = generateCaptcha();
  
    if (userAnswer === correctAnswer) {
        alert('Капча пройдена успешно');
    } else {
        alert('Неверный ответ, попробуйте еще раз');
    }
}

Этот код генерирует случайное математическое выражение, выводит его на страницу и после ввода пользователем ответа в поле captchaInput сравнивает его с правильным ответом.

Таким образом, использование подобной простой капчи позволит эффективно защитить ваш веб-сайт от нежелательного спама и автоматизированных атак.