Можно ли использовать Google reCAPTCHA в качестве альтернативы Cloudflare?

Добрый день! 

У меня на сайте наблюдается значительный рост посещаемости, и, судя по логам, это вызвано работой ботов. Я задумался о возможности использования Google reCAPTCHA в качестве альтернативы Cloudflare для защиты сайта. После изучения вопроса, я нашел рабочий код, который не требует прохождения капчи для роботов Яндекса и Google, а остальных пользователей просит пройти капчу. Хотя посещаемость снизилась, теперь я уверен, что на сайт заходят реальные люди. Проверка ответа сервера и идентификация поисковых роботов Яндекса показывают, что всё в порядке в инструментах веб-мастера. 

Тем не менее, мне хотелось бы узнать: безопасно ли такое решение для сайта, и не навредит ли это ему? Есть ли у кого-то опыт в этой сфере? 

<pre><code class="php">// Функция проверки роботов Яндекса и Google
function is_yandex_or_google_bot() {
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    $ip_address = $_SERVER['REMOTE_ADDR'];

    // Проверка User-Agent для Googlebot (включая домены googlebot.com, google.com, googleusercontent.com)
    if (stripos($user_agent, 'Googlebot') !== false) {
        $google_domains = ['googlebot.com', 'google.com', 'googleusercontent.com'];
        foreach ($google_domains as $domain) {
            if (substr($user_agent, -strlen($domain)) === $domain) {
                return true;
            }
        }
    }

    // Проверка User-Agent для Яндекса (включая все роботы, заканчивающиеся на yandex.ru, yandex.net, yandex.com)
    if (stripos($user_agent, 'Yandex') !== false) {
        $yandex_domains = ['yandex.ru', 'yandex.net', 'yandex.com'];
        foreach ($yandex_domains as $domain) {
            if (substr($user_agent, -strlen($domain)) === $domain) {
                return true;
            }
        }
    }

    // Проверка IP-адресов
    $yandex_ips
  • 3 февраля 2025 г. 10:54
Ответы на вопрос 1
Использование Google reCAPTCHA в качестве альтернативы Cloudflare для защиты вашего сайта может быть эффективным, но есть несколько аспектов, которые стоит учитывать перед реализацией такого решения.

### Плюсы использования Google reCAPTCHA

1. **Защита от ботов**: reCAPTCHA хорошо справляется с задачей различения людей и автоматических систем, особенно если настроена правильно.
2. **Улучшение пользовательского опыта**: если правильно настроить, можно минимизировать количество случаев, когда реальным пользователям придется проходить капчу.
3. **Простота интеграции**: reCAPTCHA легко интегрируется в форму и позволяет вам получать дополнительную защиту без серьезной переработки кода вашего сайта.

### Минусы и риски

1. **Запросы к API**: использование reCAPTCHA может привести к необходимости делать дополнительные запросы к API Google, что может увеличить время загрузки страницы, если не будет оптимизировано.
2. **Зависимость от стороннего сервиса**: при использовании reCAPTCHA ваш сайт будет зависеть от доступности и работоспособности Google.
3. **Пользовательский опыт**: несмотря на то, что reCAPTCHA v2 и v3 предлагают улучшения, нередки случаи, когда пользователи сталкиваются с трудностями. Это может привести к потере потенциальных клиентов.
4. **Неполная защита**: хотя reCAPTCHA мощный инструмент, он не всегда будет идеально определять все боты. Некоторые более сложные скрипты могут обойти капчу.

### Проверка User-Agent

Система определения роботов через проверки User-Agent, как вы указали в своем коде, имеет свои плюсы, однако, она также не идеальна. Многие боты могут маскировать свой User-Agent, в то время как некоторые легитимные пользователи могут использовать другие User-Agent строки, которые не будут распознаны. Кроме того, поддерживать список IP адресов поисковых систем может быть трудоемким процессом.

### Рекомендации

- **Комбинируйте решения**: Вместо того чтобы полагаться только на reCAPTCHA, рассмотрите возможность использования ее в сочетании с другими методами защиты, такими как использование Cloudflare.
- **Мониторинг**: Внимательно следите за логами и статистикой посещений, чтобы понимать, как изменения влияют на поведение пользователей и на количество ботов.
- **Пользовательский тест**: Протестируйте новую систему защиты с участием реальных пользователей, чтобы оценить, насколько она затрагивает их взаимодействие с вашим сайтом.

Таким образом, можно использовать Google reCAPTCHA как элемент защиты, но не стоит полностью полагаться только на него. Лучше использовать комплексный подход к безопасности вашего сайта.
Похожие вопросы