wpquiz.ru wordpress WPQuiz.ru

Как отключить вставку iframe в WordPress для улучшения безопасности

Встраивание iframe на страницы WordPress может создавать угрозы безопасности, особенно если контент поступает из ненадежных источников. В этой статье мы подробно рассмотрим, как отключить вставку iframe в WordPress, какие методы использовать и как сделать это безопасно, не нарушая функциональность сайта.

Почему нужно отключать iframe в WordPress? Риски и уязвимости

iframe позволяет вставлять на сайт внешний контент, например, видео, карты, формы и другие ресурсы. Однако это часто становится причиной XSS-атак (межсайтового скриптинга), когда злоумышленники внедряют вредоносный код. Кроме того, iframe может замедлять загрузку страниц и ухудшать пользовательский опыт.

Если вы не планируете использовать iframe на сайте, лучше полностью запретить эту возможность, тем самым повысив безопасность и производительность.

Стандартные способы отключения iframe в WordPress

WordPress по умолчанию позволяет вставлять iframe в визуальном редакторе, если вы работаете с HTML. Для отключения iframe можно воспользоваться фильтрами и настройками редактора.

1. Отключение iframe через фильтр wp_kses

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

function wpquiz_disable_iframe_wp_kses($tags) {
    if (isset($tags['iframe'])) {
        unset($tags['iframe']);
    }
    return $tags;
}
add_filter('wp_kses_allowed_html', 'wpquiz_disable_iframe_wp_kses');

Этот код удаляет тег iframe из разрешенных HTML-тегов, что блокирует вставку iframe через стандартные редакторы и контент.

2. Отключение iframe в Gutenberg (блок-редакторе)

Gutenberg позволяет добавлять блоки с iframe, например, "Встроенный" (Embed). Чтобы запретить добавление iframe, можно убрать поддержку встроенных блоков с помощью JavaScript.

function wpquiz_disable_embed_block() {
    wp_enqueue_script('wpquiz-disable-embed', get_template_directory_uri() . '/js/disable-embed.js', array('wp-blocks', 'wp-dom-ready', 'wp-edit-post'), '1.0', true);
}
add_action('enqueue_block_editor_assets', 'wpquiz_disable_embed_block');

В файле disable-embed.js пишем:

wp.domReady( function() {
    wp.blocks.unregisterBlockType('core/embed');
    wp.blocks.unregisterBlockType('core-embed/*');
});

Это удалит стандартные блоки embed, которые используют iframe.

Отключение iframe через плагины: обзор и настройка

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

Плагин Clearfy Pro для безопасности и отключения iframe

Clearfy Pro — мощный инструмент для оптимизации и безопасности WordPress. Среди множества функций есть возможность блокировки iframe и других потенциально опасных тегов.

Для этого:

  • Установите и активируйте Clearfy Pro.
  • В настройках перейдите в раздел безопасности.
  • Активируйте опцию отключения iframe и других embed-тегов.

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

Другие плагины для ограничения iframe

Можно рассмотреть и другие плагины, например, «Disable HTML Tags» или «WP Content Security Policy». Они позволяют гибко управлять разрешенными тегами и ограничивать iframe.

Настройка Content Security Policy (CSP) для контроля iframe

Для дополнительного уровня защиты можно настроить заголовок Content Security Policy на сервере, который запрещает загрузку iframe с нежелательных источников.

Пример настройки в .htaccess для Apache:

Header set Content-Security-Policy "frame-src 'self';"

Это разрешит загрузку iframe только с вашего домена, блокируя остальные.

Для Nginx добавьте в конфигурацию:

add_header Content-Security-Policy "frame-src 'self';";

Такой подход мощно снижает риски внедрения вредоносного iframe.

Проверка и отладка после отключения iframe

После внедрения ограничений важно протестировать, что iframe действительно не вставляются в контент. Для этого:

  • Попробуйте вставить iframe через редактор — должно быть запрещено.
  • Проверьте исходный код страницы — iframe не должно быть.
  • Используйте инструменты разработчика браузера, проверяя наличие тегов iframe.

Если вы используете кеширование, очистите кеш после изменений, чтобы увидеть актуальный результат.

Выводы и рекомендации

Отключение iframe в WordPress — эффективный способ повысить безопасность сайта и избежать проблем с вредоносным кодом. Рекомендуется комбинировать методы: использовать фильтры WordPress, отключать встроенные блоки редактора и настраивать Content Security Policy на сервере.

Если вы хотите упростить задачу, обратите внимание на Clearfy Pro — он автоматизирует многие процессы безопасности и оптимизации.

Соблюдение этих рекомендаций поможет сохранить ваш сайт на WordPress безопасным и стабильным.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее