Как на сайте WordPress в комментариях запретить HTML-код?

Каждый владелец сайта часто задумывается над тем, чтобы обеспечить его безопасность. Одним из способов взлома веб-ресурса является наличие спам-комментариев, содержащих какие-либо спам-ссылки или вредоносный код. Благодаря последним, злоумышленник вполне может заполучить доступ к управлению сайта или нарушить его работу. Вставляя какой-либо зловредный HTML— или JavaScript-код, сайт становится подверженным опасности взлома. Поэтому необходимо заранее об этом позаботиться, запретив вставку HTML-тегов в тексте комментария.

Как в комментариях запретить HTML-код?

Для решения задачи существует несколько способов. Рассмотрим наиболее простые и действенные.

Способ 1. Запрет HTML-кода с помощью плагина

Функциональный плагин HTML Code Comments предлагает пользователю закрыть использование тех или иных HTML-тегов. Во-первых, необходимо установить и активировать плагин. После этого следует в админ-панели перейти в раздел Настройки -> HTML code in comments.

Страница настроек плагина HTML Code Comments

Страница настроек разбита на несколько блоков. В самом первом блоке, Allowed HTML tags, отображаются HTML-теги, которые разрешено использовать посетителям, оставляя комментарии. Для удаления конкретного тега следует использовать настройку Delete tag. Например, мы хотим запретить публикаторам использовать тег <a>. Для этого в этом поле выбираем значение “a” и нажимаем кнопку Delete. После нажатия на кнопку видим, что в таблице разрешенных тегов тег <a> пропал. Теперь, если кто-либо в своем комментарии вставит этот тег (например, <a href=”http://site.ru”>Hello</a>), то после его публикации на сайте получится следующее:

Раздел комментариев на странице записи

Как видим, в комментарии нет вставленной нами ссылки. Таким образом, с помощью плагина Вы сможете гибко управлять использованием того или иного тега. Для того, чтобы разрешить какой-либо тег, его необходимо вписать в поле раздела Add tag и нажать кнопку Add.

Плагин также позволяет разрешать/запрещать и атрибуты тегов. Для этого доступны поля Add attribute и Delete attribute.

Способ 2. Ручное отключение HTML-тегов

Еще один способ отключить использование тегов HTML в тексте комментариев, — это вручную добавить специальный HTML-код в файл Вашей темы functions.php.

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

Итак, в конец указанного файла необходимо вставить следующую строку:

add_filter( 'pre_comment_content', 'wp_specialchars' );

Результатом работы этого кода будет следующее:

Раздел комментариев на странице записи

Как видите, введенная нами ссылка не работает, вся строка была отображена как простой текст.

Курс WordPress-разработчик
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров
Привет! Меня зовут Михаил Петров. Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность - моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. За все время своей работы пришлось написать и отредактировать немало разной “текстовухи”, включая SEO-тексты, отзывы и прочую чушь. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.