/
DriveVision
/
Smart-Column-S3
Обзор
Документация
Войти
/
DriveVision
/
Smart-Column-S3
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/interface/security.h
66 строк
2 KB
Claude
Add MQTT Integration and Security Improvements (v1.2.1)
06 дек 2025, 23:38
06 дек 2025, 23:38
4c56257
Код
Авторство
О чём код?
/** * Smart-Column S3 - Security * * Аутентификация и защита веб-интерфейса */ #ifndef SECURITY_H #define SECURITY_H #include <Arduino.h> #include <ESPAsyncWebServer.h> namespace Security { /** * Инициализация security модуля * @param username Имя пользователя (по умолчанию "admin") * @param password Пароль */ void init(const char* username = "admin", const char* password = nullptr); /** * Проверка Basic Authentication * @param request HTTP запрос * @return true если авторизован */ bool checkAuth(AsyncWebServerRequest *request); /** * Отправка 401 Unauthorized * @param request HTTP запрос */ void requestAuth(AsyncWebServerRequest *request); /** * Проверка rate limit * @param ip IP адрес клиента * @return true если можно обработать запрос */ bool checkRateLimit(IPAddress ip); /** * Добавление security заголовков к ответу * @param response HTTP ответ */ void addSecurityHeaders(AsyncWebServerResponse *response); /** * Установка пароля * @param password Новый пароль */ void setPassword(const char* password); /** * Включение/отключение аутентификации * @param enabled Состояние */ void setAuthEnabled(bool enabled); /** * Проверка включена ли аутентификация * @return true если включена */ bool isAuthEnabled(); } #endif // SECURITY_H