JXCT Soil Sensor 7-in-1 3.10.1
IoT система мониторинга почвы на базе ESP32
Загрузка...
Поиск...
Не найдено
Файл csrf_protection.cpp

Безопасная CSRF защита для веб-интерфейса JXCT. Подробнее...

#include "../../include/web/csrf_protection.h"
#include <Arduino.h>
#include <WiFi.h>
#include "../../include/logger.h"
Граф включаемых заголовочных файлов для csrf_protection.cpp:

Функции

String generateCSRFToken ()
 Генерация CSRF токена
 
bool validateCSRFToken (const String &token)
 Проверка CSRF токена
 
String getCSRFHiddenField ()
 Получение скрытого поля с CSRF токеном для форм
 
bool checkCSRFSafety ()
 Middleware для проверки CSRF на POST запросах
 
String methodToString (HTTPMethod method)
 Преобразование HTTP метода в строку
 
void initCSRFProtection ()
 Инициализация CSRF защиты
 

Переменные

const unsigned long CSRF_TOKEN_LIFETIME = 30 * 60 * 1000
 

Подробное описание

Безопасная CSRF защита для веб-интерфейса JXCT.

Дата
2025-01-22
Автор
AI Assistant (Tech Debt Reduction Plan - Stage 1.2)

ВАЖНО: Реализация НЕ нарушает существующий функционал Добавляет дополнительную защиту без поломки API

Функции

◆ generateCSRFToken()

String generateCSRFToken ( )

Генерация CSRF токена

Возвращает
Строка с уникальным CSRF токеном

◆ validateCSRFToken()

bool validateCSRFToken ( const String &  token)

Проверка CSRF токена

Аргументы
tokenТокен для проверки
Возвращает
true если токен валиден

◆ getCSRFHiddenField()

String getCSRFHiddenField ( )

Получение скрытого поля с CSRF токеном для форм

Возвращает
HTML строка с hidden input для CSRF токена

◆ checkCSRFSafety()

bool checkCSRFSafety ( )

Middleware для проверки CSRF на POST запросах

Возвращает
true если запрос безопасен (GET или валидный CSRF токен)

◆ methodToString()

String methodToString ( HTTPMethod  method)

Преобразование HTTP метода в строку

Аргументы
methodHTTP метод
Возвращает
Строковое представление метода

◆ initCSRFProtection()

void initCSRFProtection ( )

Инициализация CSRF защиты

Переменные

◆ CSRF_TOKEN_LIFETIME

const unsigned long CSRF_TOKEN_LIFETIME = 30 * 60 * 1000