Функция 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% без риска
Нет обязательств по найму
Бесплатная оценка
4900 ₽
Для портфолио
Шаблон сайта портфолио на русском языке для веб студии. С современным дизайном, он упрощает создание блога и портфолио вашей команды.

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

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

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

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

или

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

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

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

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

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