Cap CAPTCHA - Альтернатива self-hosted reCAPTCHA без необходимости клика

Cap CAPTCHA - Альтернатива self-hosted reCAPTCHA без необходимости клика 1.0.7

Нет прав на скачивание
Совместимость с XF
  1. 2.3.x
Краткое описание
Adds Cap, a privacy-friendly self-hosted proof-of-work CAPTCHA for XenForo websites. No images or clicks required; runs entirely in the background without sending data to third parties. Requires your own server setup and a unique site key per forum. Setup involves creating a Docker container, setting up HTTPS, and configuring the add-on within XenForo's admin panel.
Создайте файл compose Docker:

на сервере, который будет запускать Cap, создайте docker-compose.yml:
Код:
services:
  cap:
    image: tiago2/cap:latest
    container_name: cap
    ports:
      - "127.0.0.1:3000:3000"
    environment:
      ADMIN_KEY: change_this_to_a_long_random_password
      REDIS_URL: redis://valkey:6379
    depends_on:
      valkey:
        condition: service_healthy
    restart: unless-stopped
  valkey:
    image: valkey/valkey:9-alpine
    container_name: cap-valkey
    volumes:
      - valkey-data:/data
    command: valkey-server --save 60 1 --loglevel warning --maxmemory-policy noeviction
    healthcheck:
      test: ["CMD", "valkey-cli", "ping"]
      interval: 5s
      timeout: 3s
      retries: 5
    restart: unless-stopped
volumes:
  valkey-data:
ADMIN_KEY ist die Passwort für Ihr Cap-Dashboard. Es sollte lang und zufällig sein, mindestens 32 Zeichen lang. Jemand mit diesem Schlüssel kann Ihre Site-Schlüssel erstellen oder löschen.

Haben Sie Beachten: Das Binden auf 127.0.0.1:3000:3000: Dies hält Cap vom öffentlichen Internet fern, sodass nur Ihr Reverse-Proxy darauf zugreifen kann. Wenn Sie es nicht hinter einem Reverse-Proxy verstecken, verwenden Sie stattdessen "3000:3000", aber lesen Sie den Abschnitt über HTTPS zuerst.

Starten Sie es.
2. Поставь его за HTTPS

Этот шаг не является опциональным, если ваш форум работает на HTTPS. Браузеры блокируют незащищенные запросы с безопасной страницы, поэтому форум, который обменивается данными с http://cap примером, просто никогда не загружает виджет и никто не может зарегистрироваться.

Поставь поддомен такого типа как cap.yoursite.com на сервер и проксируй его на порт 3000. Пример настроек Nginx:
Код:
server {
    listen 443 ssl http2;
    server_name cap.yoursite.com;
    ssl_certificate     /etc/letsencrypt/live/cap.yoursite.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cap.yoursite.com/privkey.pem;
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host              $host;
        proxy_set_header X-Real-IP         $remote_addr;
        proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
Создайте ключ сайта

Откройтеhttps://cap.yoursite.comи авторизуйтесь с помощью вашей ADMIN_KEY.
Создайте новый ключ и назовите его темой, которая будет использовать этот ключ.
Копируйте сайт-ключ и секретный ключ. Секрет показывается при сохранении.

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

Часть 2: Установка расширения

Панель администратора → Расширения → Установить/обновить из архива, загрузите .zip.
Или разархивируйте .zip и загрузите содержимое в папке upload на корневой уровень вашего форума, затем установите Cap CAPTCHA из списка расширений.

Часть 3: Настройка

Перейдите к Настройкам → Основные опции → Включить капчу для гостей и выберите Использовать Cap CAPTCHA. Отобразятся три поля:

URL инстанса Cap: ваш базовый URL сервера Cap, без окончания слеша, например,https://cap.yoursite.comКапс ключ: ключ, который вы создали для этой форума
Капс тайтльный ключ: секретный ключ, принадлежащий к этому капс ключу

Сохраните изменения, затем выйдите из аккаунта или откройте новое окно с private browsing и загрузите страницу регистрации. Виджет должен появиться, а верификация должна пройти.

Если вы выбрали Капс и оставили любой поле пустым, плагин показывает красный предупреждение в панели администратора, сообщая вам, что нет отображаемого каптчи и все гостиные подачи принимаются. Если вы видите это предупреждение, еще не защищены.

Как оно работает

Фронтенд: публичный шаблон captcha_cap_captcha рендерит <cap-widget>, указанный на {URL инстанса}/{ключ сайта}/. При решении виджет добавляет скрытый поле cap-token в форму.
Бэкенд: токен проверяется серверным путем отправкой POST-запроса к {URL инстанса}/{ключ сайта}/siteverify с вашим секретом. Подача принимается только тогда, когда Cap отвечает {"success": true}. Токены одноразовые, поэтому повторы не проходят.

Обе вызовы сконфигурированы под ключ вашего форума, так что трафик каждого форума атрибутируется своему ключу в дашборде.

Что вы должны знать о поведении

Оно работает открыто, на удовольствие. По умолчанию совпадает с внутренними каптчами XF:

Если ключи пустые, ничего не рендерится, и все проходят.
Если ваш сервер CAP недоступен или возвращает 5xx, все проходят, и ошибка логируется.

Это так, чтобы отсутствие вашего сервера CAP не блокировало гостей при регистрации. Потеря работает как работающий, что объясняет предупреждение админа и логирование ошибок. Если каптча, которая перестает работать, хуже для вас, чем приостановка регистрации, это поведение следует изменить первым; это несколько строк в Captcha/Cap.php.

Скрипт виджета загружается из jsDelivr. Плагин подтягивает @cap.js/widget с cdn.jsdelivr.net (пinned на точную версию). Ваши посетители, браузеры отправляют запросы к jsDelivr на страницах с каптчей. Если это важно для вашего регион или политики конфиденциальности, скачайте cap.min.js и поместите его под ваш форум, заменив <xf:js src="..."> в шаблоне captcha_cap_captcha на ссылку к вашему копию. Всё остальное продолжает работать. Я открыто флагирую это потому что это справедливое требование к самодоступному плагину конфиденциальности.
HTML:
<cap-widget data-cap-api-endpoint="https://cap.yoursite.com/<site key>/"></cap-widget>
Ключ для этого тега не используется. Проверьте ключ в вышеуказанном теге. Два форума, использующие один и тот же ключ сайта, отображаются как один сайт, и незарегистрированный ключ остается на нуле.

Проверка всегда проваливается. Проверьте Настройки → Логи ошибок. Каждая неудавшаяся проверка логируется с точным адресом, который она пыталась достичь, поэтому неверный URL-адрес или ключ сайта виден там.
  • cr6.webp
    cr6.webp
    38 КБ · Просмотры: 0
  • cr5.webp
    cr5.webp
    26.9 КБ · Просмотры: 0
  • cr4.webp
    cr4.webp
    35.6 КБ · Просмотры: 0
  • cr3.webp
    cr3.webp
    33.1 КБ · Просмотры: 0
  • cr2.webp
    cr2.webp
    34 КБ · Просмотры: 0
  • cr1.webp
    cr1.webp
    33.7 КБ · Просмотры: 0
Автор
axtona
Просмотры
3
Тип расширения
zip
Размер файла
16.5 КБ
Первый выпуск
Последнее обновление
Оценки 0.00 звезды 0 оценок
Ссылка не работает? Отправить сообщение команде NP, и мы поможем вам очень быстро!
Поддержите разработчика Если вы довольны тестом или ваш проект приносит доход, нажмите кнопку «Больше информации», чтобы поддержать разработчика покупкой.

Больше Ресурсов от axtona

Avanzade Verkehrsstatistiken: Отчетность до активной защиты A
с компактным и визуально привлекательным Трафик-контрол и Статистический Виджет
Сорcerer Pro A
Вставьте PHP и любые виды кода HTML, CSS и JavaScript в контенте!
Просмотры
862
Обновлено
Cool Timeline Pro - WordPress Timeline Plugin A
an advanced WordPress timeline plugin that showcases your life history timeline
Просмотры
741
Обновлено

Похожие ресурсы

 PhpCaptcha A
полностью самостоятельного изображения CAPTCHA для XenForo 2.3+ без использования Google, Cloudflare или внешних API
Просмотры
107
Обновлено
[OzzModz] Store Captcha Questions/Answers A
Record what CAPTCHA Q&A was used on registration
Просмотры
375
Обновлено
ROI ALTACHA CAPTCHA A
Аксессуар для XenForo, интегрирующий систему верификации чата ALTCHA
Просмотры
231
Обновлено
Назад
Вверх