Функция wp_kses() используется для фильтрации HTML-кода в WordPress, позволяя только безопасные теги и атрибуты.
Быстрая навигация по записи

Описание функции wp_kses()

Функция wp_kses() позволяет фильтровать HTML-код, разрешая только определенные теги и атрибуты. Это помогает предотвратить XSS-атаки и другие типы вредоносного кода, обеспечивая безопасность пользовательского ввода. Функция используется в ситуациях, когда необходимо сохранить части HTML-кода, но при этом гарантировать, что они не содержат потенциально опасных элементов.

Она часто применяется в формах, комментариях и других областях, где пользователи могут вводить HTML.

Параметры

$data

Тип: string

Обязательный: Да

Описание: HTML-код, который необходимо фильтровать.

Возможные значения:

$allowed_html

Тип: array

Обязательный: Да

По умолчанию: array()

Описание: Массив разрешенных HTML-тегов и атрибутов.

Возможные значения:

p: class, id

strong:

em:

a: href, title

$allowed_protocols

Тип: array

Обязательный: Нет

По умолчанию: array(‘http’, ‘https’, ‘mailto’)

Описание: Массив разрешенных протоколов для ссылок.

Возможные значения:

http: 1

https: 1

mailto: 1

Возвращаемое значение

Тип: string

Описание: Отфильтрованный HTML-код.

Возможные значения:

• Строка с разрешенными HTML-тегами и атрибутами

• Пустая строка если все теги удалены

• Исходная строка если не было изменений

Примеры использования

Простой пример фильтрации HTML-кода.

				
					$filtered = wp_kses('<p>Hello, <strong>world</strong>!</p>', array('p' => array(), 'strong' => array()));
// $filtered будет '<p>Hello, <strong>world</strong>!</p>'
				
			

Позволяет только теги

и

Фильтрация ссылки с разрешенными атрибутами.

				
					$allowed_html = array('a' => array('href' => array(), 'title' => array()));
$filtered = wp_kses('<a href="http://example.com" title="Example" target="_blank" rel="noopener">Link</a>', $allowed_html);
// $filtered будет '<a href="http://example.com" target="_blank" rel="noopener">Link</a>'
				
			

Удаляет атрибут title, если он не разрешен

Фильтрация потенциально опасного кода.

				
					$unsafe_input = '<script type="litespeed/javascript">alert("XSS")</script>';
$filtered = wp_kses($unsafe_input, array());
// $filtered будет пустой строкой
				
			

Все теги были удалены

Фильтрация пользовательского ввода в плагине.

				
					$content = wp_kses($user_input, array('p' => array(), 'a' => array('href' => array())));
// $content будет содержать только безопасные теги
				
			

Допускает только теги

и ссылки

Фильтрует HTML-код как в постах.

Фильтрует данные, позволяя только безопасные HTML-теги.

— Хуки

Фильтрует массив разрешенных HTML-тегов и атрибутов.

— Примечания

– Ограничения

Некоторые теги могут быть удалены в зависимости от настроек безопасности.

– Частые проблемы

  • Проблемы при недостаточном разрешении тегов для нужного HTML.
  • Некорректный вывод, если не заданы необходимые атрибуты.

Оставить комментарий

Нужна помощь с WordPress WooCommerce плагинами темой оптимизацией ?

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Мега меню
Премиальный шаблон для создания сайта компании или интернет магазина с высокой конверсией на базе WordPress и WooCommerce, раскрывающий всю мощь плагина Elementor, как лучшего визуального редактора!

Поможем вывести Ваш бизнес на новый уровень!

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил

Добро пожаловать!

Авторизуйтесь, чтобы продолжить

или

Забыли пароль? Восстановить

* Если аккунта у Вас еще нет, то он будет создан автоматически

Давайте составим техническое задание!
100% без риска
Нет обязательств по найму
Бесплатная оценка стоимости
Здравствуйте! Я асистент на основе искусственного интеллекта. Вы можете общаться со мной, как с человеком — задавайте вопросы, описывайте свои идеи и требования.

С удовольствием помогу вам составить техническое задание для вашего WordPress проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

Выберите подходящий вариант или опишите свою задачу в свободной форме, и я помогу вам составить четкий план действий, для оценки стоимости нашими разработчиками! 😊