- 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
54 lines
2.4 KiB
Markdown
54 lines
2.4 KiB
Markdown
# Исправление проверки полиса
|
||
|
||
## Проблемы, которые были исправлены:
|
||
|
||
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`
|
||
|
||
## Статус:
|
||
|
||
✅ **Исправлено и готово к использованию!**
|