Описание функции sanitize_option()
Функция sanitize_option() используется для очистки значений параметров перед их сохранением в базе данных WordPress. Она позволяет избежать хранения потенциально небезопасных данных и обеспечивает целостность параметров. Обычно используется при обработке опций плагинов и тем.
Функция применяет соответствующие функции очистки в зависимости от типа опции, что делает её важным инструментом для повышения безопасности
Параметры
$option
Тип: string
Обязательный: Да
По умолчанию: null
Описание: Название опции, которую требуется очистить
Возможные значения:
$value
Тип: mixed
Обязательный: Да
По умолчанию: null
Описание: Значение опции, которое требуется очистить
Возможные значения:
Возвращаемое значение
Тип: mixed
Описание: Очистенное значение опции
Возможные значения:
• Строка с очищенным значением
• Число
• Массив
• false, если опция не существует
Примеры использования
Базовый пример очистки строки с потенциально небезопасным содержимым
$clean_value = sanitize_option('my_string_option', '');
// $clean_value будет 'alert(1)'
Очистка неполного числового значения
$clean_value = sanitize_option('my_number_option', '123abc');
// $clean_value будет 123
Очистка массива с различными значениями
$dirty_array = array('value' => '', 'number' => '42');
$clean_value = sanitize_option('my_array_option', $dirty_array);
// $clean_value['value'] будет 'malicious code', $clean_value['number'] будет 42
Безопасность
Валидация входных данных: Проверка имени опции и значения внутри функции
Санитизация: Данные очищаются в зависимости от типа опции
Рекомендации: Используйте sanitize_option() перед сохранением опций в базе данных для повышения безопасности
— Связанные функции
Получает значение опции из базы данных
Обновляет значение опции в базе данных
— Хуки
Фильтрует значение опции перед его очисткой
— Примечания
– Ограничения
Не все типы значений могут быть очищены, возможны ошибки при неправильных входных данных
– Частые проблемы
- Некорректные типы данных могут привести к ошибкам
- Проблемы при использовании пользовательских опций без соответствующей очистки