# Инструкция по установке и использованию ng-captcha

## Что это?

Плагин **ng-captcha** объединяет три отдельных плагина капчи в один:
- `ng-grecaptcha` (Google reCAPTCHA v3)
- `ng-turnstile` (Cloudflare Turnstile)
- `ng-yandex-captcha` (Яндекс SmartCaptcha)

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

## Установка

1. **Деактивируйте** старые плагины (если установлены):
   - ng-grecaptcha
   - ng-turnstile
   - ng-yandex-captcha

2. Плагин уже создан в директории: `C:\OSPanel\home\test.ru\engine\plugins\ng-captcha`

3. В админ-панели NGCMS:
   - Перейдите в **Управление плагинами**
   - Найдите **NG Captcha (Universal)**
   - Нажмите **Активировать**

## Настройка

### 1. Выбор провайдера

В настройках плагина выберите один из провайдеров:
- **Google reCAPTCHA v3** - невидимая капча, работает в фоне
- **Cloudflare Turnstile** - современная альтернатива без навязчивых проверок
- **Яндекс SmartCaptcha** - российский сервис

### 2. Получение ключей

#### Google reCAPTCHA v3
1. Перейдите: https://www.google.com/recaptcha/admin/create
2. Выберите reCAPTCHA v3
3. Укажите домен вашего сайта
4. Скопируйте:
   - **Site Key** (ключ сайта)
   - **Secret Key** (секретный ключ)

#### Cloudflare Turnstile
1. Перейдите: https://dash.cloudflare.com/
2. Выберите **Turnstile**
3. Создайте новый сайт
4. Скопируйте:
   - **Site Key**
   - **Secret Key**

#### Яндекс SmartCaptcha
1. Перейдите: https://cloud.yandex.ru/services/smartcaptcha
2. Создайте капчу
3. Скопируйте:
   - **Ключ клиента** (Site Key)
   - **Серверный ключ** (Secret Key)

### 3. Настройка плагина

В настройках ng-captcha укажите полученные ключи:
- **Ключ сайта (Site Key)** - публичный ключ
- **Секретный ключ (Secret Key)** - приватный ключ

### 4. Дополнительные настройки

#### Для Google reCAPTCHA:
- **Минимальный score** (0.1-0.9): чем выше, тем строже проверка. Рекомендуется 0.5

#### Для Cloudflare Turnstile:
- **Тема виджета**: авто / светлая / темная
- **Размер виджета**: обычный / компактный

#### Основные:
- **Проверять только гостей**: Да = капча только для незарегистрированных
- **Встраивать JavaScript API**: автоматическое добавление скриптов провайдера
- **Встраивать JavaScript перехватчик**: перехват отправки форм (для Google  и Яндекс)

## Где работает капча

После активации плагин защищает:
- ✅ **Регистрацию пользователей** (core)
- ✅ **Комментарии** (если активирован плагин comments)
- ✅ **Обратную связь** (если активирован плагин feedback)

## Добавление в шаблоны

Виджет капчи автоматически добавляется через фильтры. Если нужно вручную добавить в шаблон:

```html
{{ plugin.captcha_widget|raw }}
```

или (для старых шаблонов):

```html
{plugin_captcha_widget}
```

## Переключение между провайдерами

Чтобы сменить провайдера:
1. Зайдите в настройки ng-captcha
2. Выберите другого провайдера из списка
3. Укажите новые ключи
4. Сохраните настройки

Переключение происходит мгновенно, перезагружать плагин не нужно.

## Удаление старых плагинов

После успешной проверки работы ng-captcha можно удалить старые плагины:

```
C:\OSPanel\home\test.ru\engine\plugins\ng-grecaptcha\
C:\OSPanel\home\test.ru\engine\plugins\ng-turnstile\
C:\OSPanel\home\test.ru\engine\plugins\ng-yandex-captcha\
```

## Логи

Все события капчи записываются в лог:
```
engine/cache/logs/captcha.log
```

Проверьте логи, если возникают проблемы с проверкой.

## Поддержка

При возникновении проблем:
1. Проверьте правильность ключей
2. Убедитесь, что домен совпадает с указанным при регистрации
3. Проверьте логи (captcha.log)
4. Убедитесь, что плагин `ng-helpers` активирован

## Лицензия

MIT License - свободное использование и модификация.
