Функция cot_log_import в Cotonti
Функция cot_log_import предназначена для регистрации (логирования) ошибок, связанных с неправильным вводом данных.
Она записывает информацию о том, что проверка типа данных не прошла успешно.
/**
* Logs wrong input
*
* @param string $s Source type
* @param string $e Filter type
* @param string $v Variable name
* @param string $o Value
*/
function cot_log_import($s, $e, $v, $o)
{
if (isset(Cot::$cfg['logWrongInput']) && !Cot::$cfg['logWrongInput']) {
return;
}
if ($e == 'PSW') {
$o = str_repeat('*', mb_strlen($o));
}
$text = 'A variable type check failed, expecting ' . $s . '/' . $e . " for '" . $v . "' : " . $o;
cot_log($text, 'sec', 'input', 'error');
}
Параметры функции:
$s (string) — Тип источника данных (например, "POST", "GET", "COOKIE" и т.д.), который служит контекстом для данной записи. Этот параметр указывает, откуда данные поступили.
$e (string) — Тип фильтра, который ожидался для переменной (например, "PSW" для пароля или другие типы фильтров, такие как "INT", "STR" и т.д.).
$v (string) — Название переменной, которая не прошла проверку типа.
$o (string) — Значение переменной, которое не соответствует ожидаемому типу.
Алгоритм работы функции:
Проверка конфигурации:
Функция сначала проверяет конфигурационную настройку logWrongInput в глобальном массиве Cot::$cfg. Если эта настройка установлена в false, функция завершает выполнение, и логирование не происходит.
Обработка паролей:
Если фильтр ($e) равен "PSW", что означает, что проверяется пароль, то функция заменяет значение пароля на звездочки (*), чтобы не хранить в логах реальные пароли.
Создание текстового сообщения:
Создается строка текста, которая описывает ошибку. В сообщении указывается, что ожидался определенный тип для переменной, но было получено другое значение.
Запись в лог:
Функция cot_log используется для записи сообщения в системный лог с типом ошибки 'input' и классом ошибки 'error'. Это позволяет зафиксировать неправильный ввод данных.
Пример работы:
Если, например, для переменной $username ожидался тип строка, но пришло значение, которое не соответствует этому типу, вызов функции может выглядеть так:
cot_log_import('POST', 'STR', 'username', '12345');
Это создаст лог-сообщение, в котором будет указано, что для переменной username ожидалась строка, но пришло значение '12345'. Если это пароль, то будет записано сообщение с использованием звездочек вместо пароля.
Резюме:
Функция cot_log_import используется для логирования ошибок валидации входных данных в системе. Она полезна для отслеживания попыток неправильного ввода или несоответствия типов данных в формах и других запросах, что позволяет лучше отслеживать безопасность и корректность обработки данных на сайте.
Комментарии (0)
Автор контента
Оффлайн
Administrator
Последняя авторизация: 05.07.2026 18:32
- Страница размещена: 22.01.2025 11:56
- Последнее обновление: 22.01.2025 11:56