Files
erv-ticket-dev/POLICY_CHECK_FIX.md
Fedor 2c516362df feat: Secure SMS verification with Redis (Predis)
- Added Predis library for Redis connection (no PHP extension required)
- Server-side SMS code generation and storage in Redis
- Rate limiting and brute-force protection
- Integration with n8n webhook for SMS sending
- Environment variables moved to .env file
- Fixed policy verification endpoint
- Added file-based fallback if Redis unavailable
2026-01-15 15:40:13 +03:00

54 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Исправление проверки полиса
## Проблемы, которые были исправлены:
1.**Хардкод кредов MySQL** - теперь используются переменные из `.env`
2.**Отсутствие логирования** - добавлено логирование в `logs/policy_check.log`
3.**Улучшена обработка ошибок** - более детальные сообщения об ошибках
4.**Нормализация номера полиса** - добавлена замена кириллической "А" на латинскую "A"
5.**Заголовки JSON** - добавлены правильные заголовки для JSON ответов
## Что нужно добавить в .env:
Добавьте следующие переменные в `.env` файл (если их еще нет):
```env
# MySQL ERV (для проверки полисов)
MYSQL_ERV_HOST=localhost
MYSQL_ERV_USER=ci20465_erv
MYSQL_ERV_PASSWORD=c7vOXbmG
MYSQL_ERV_DB=ci20465_erv
```
Если переменные не указаны, используются значения по умолчанию (для обратной совместимости).
## Как работает проверка полиса:
1. Пользователь вводит номер полиса
2. Нажимает кнопку "Проверить наличие полиса"
3. JavaScript отправляет AJAX запрос на `database.php?action=user_verify`
4. `database.php`:
- Подключается к БД MySQL (ci20465_erv)
- Ищет полис в таблице `lexrpiority` по полю `voucher`
- Проверяет тарифы (должны быть в списке валидных)
- Возвращает результат
## Логирование:
Все операции логируются в `logs/policy_check.log`:
- Попытки подключения к БД
- Номера полисов (частично, для безопасности)
- Результаты проверки
- Ошибки
## Проверка работы:
1. Откройте форму
2. Введите номер полиса
3. Нажмите "Проверить наличие полиса"
4. Проверьте логи: `tail -f logs/policy_check.log`
## Статус:
**Исправлено и готово к использованию!**