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

2.4 KiB
Raw Blame History

Исправление проверки полиса

Проблемы, которые были исправлены:

  1. Хардкод кредов MySQL - теперь используются переменные из .env
  2. Отсутствие логирования - добавлено логирование в logs/policy_check.log
  3. Улучшена обработка ошибок - более детальные сообщения об ошибках
  4. Нормализация номера полиса - добавлена замена кириллической "А" на латинскую "A"
  5. Заголовки JSON - добавлены правильные заголовки для JSON ответов

Что нужно добавить в .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

Статус:

Исправлено и готово к использованию!