Как исправить не работающий Вебвизор яндекса на CMS Diafan

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

Решение проблемы оказалось очень простым с технической стороны, нужно было лишь покопаться в файлах ядра Диафана и найти нужную строку кода. Все дело в одном заголовке Content-Security-Policy: frame-ancestors ‘self’, который отрправляется браузеру. Этот заголовок блокирует возможность встраивать сайт во фрейм вебвизора. Можно просто закоменнтировать в файле /includes/init.php строку кода

header("Content-Security-Policy: frame-ancestors 'self'");

Или можно сделать вариант с управлением данной строкой. Для этого в файле /config.php добавляем строку:

define("NO_CSP", true);

И в файле /includes/init.php добавляем условие if(!NO_CSP) перед нужной строкой, чтобы получилось вот так:

if(!NO_CSP)
	header("Content-Security-Policy: frame-ancestors 'self'"); 

Теперь можно будет управлять выводмо заголовка через изменение опции в файле конфигурации.

Важно!

1. Обязательно сделайте резервную копию сайта, или хотябы файла который собираетесь редакритровать, чтобы была возможность вернуть все на место, если возникнет нештатная ситуация.
2. Так как мы редактируем файл ядра движка, то нужно быть готовым к тому, что при установке обновлений движка Диафан данная правка может быть утеряна и данную процедуру придется повтороить.

Если вы считаете, что есть смысл сделать плагин для управления выводом данного заголовка без редактирования кода – поставье пожалуйста лайк под этоим постом. Так я смогу понять насколько актуальна данная проблема, и сделаю нужный плагин ))

Если вам нужна помощь с внедрением данной правки, или других правок – обращайтесь в личку, я готов помочь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Посты по теме

CRON для сайта

Как сделать свой сайт быстрее и эффективнее путем настройки фоновых заданий на CRON

Настройка CRON для VtigerCRM

Для того, чтобы правильно работали фоновые задания в CRM системе обязаельно нужно настроить запуск исполняющего файла по CRON. Для этого в VtigerCRM есть специальные файлы для Linux и Windows серверов Все что нужно сделать, это добваить в планировщик CRON на линксовом сервере выполнение задачи ~/cron/vtigercron.sh с интервалом 1 раз в минуту.

Что делать если Bitrix MySQL использует все ресурсы процессора

Однажды столкнулся с интересной проблемой, MySQL стал пожирать полностью все ресурсы процессора. Причем “захват” ресурсов происходил плавно с выраженными скачками на графике мониторинга Провалы на графике это ручной перезапуск службы MySQL Причина утечки процессорных ресурсов под MySQL В поисках причины были исследованы длинные запросы к БД и перепробваны различные комбинации настроек MySQL, но ничего не […]

Как изменить язык сайта Битрикс для раздела или страницы

Легкий способ локально изменить ящык сайта Bitrix для отдельных страниц или разделов без применения механизма многосайтовости.

Валидация свойств при оформлении заказа в Битрикс

Настройка регулярных выражений для проверки ввода в полях заказа Bitrix. Инструкция по настройке и шаблоны для популярных ситуаций.