Вебвизор не показывает корзину битрикс – Почему для не авторизованного пользователя пропадают фильтры и не добавляются товары в корзину в некоторых категориях Bitrix?

Не работает Вебвизор при включенном X-Frame-Options — Trofimov Digital

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

Примером такой атаки может быть случай, когда под видом надежного сайта, злоумышленник у себя на домене подсовывает пользователям вредоносный код. Вариантов применения масса — подписка на ресурс в социальной сети, кража конфиденциальной информации, совершение покупок в интернет-магазинах за чужой счёт.

И вообще, если вы не YouTube, то не стоит, без видимой причины разрешать кому попало отображать у себя содержимое вашего сайта.

Не единственный, но рекомендуемый на сегодня способ запрета отображения веб-страницы внутри фрейма — использование заголовка X-Frame-Options, однако и он не идеален и иногда приводит к проблемам, например к некорректной работе Вебвизора в Яндекс.Метрике.

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

Что такое X-Frame-Options

Заголовок HTTP ответа от сервера X-Frame-Options служит инструкцией для браузера, он разрешает или запрещает отображение страниц вашего сайта во фрейме. Может иметь три значения:

SAMEORIGIN
Разрешает загрузку страниц сайта во фрейме только если фрейм и страница расположены на одном домене.

DENY
Запрещает загрузку во фрейме.

ALLOW-FROM domain
Разрешает загрузку во фрейме только для указанного домена, не работает для Safari и Firefox.

Защита от фреймов в 1С-Битрикс

В 1С-Битрикс ограничение работы во фрейме включается на странице «Защита от фреймов» (Настройки — Проактивная защита — Защита от фреймов).

Защита от фреймов 1С-Битрикс

На вкладке «Исключения», можно указать страницы сайта, для которых ограничения не будут применяться. Также добавить свою страницу в исключения можно определив константу B_SECURITY_FRAME в значение false, до подключения ядра.

Важно! Чтобы данный функционал 1С-Битрикс корректно работал, заголовок X-Frame-Options на сервере должен быть установлен в значение SAMEORIGIN (как это сделать, читайте далее). Если заголовок отсутствует или установлен в значение отличное от рекомендуемого, «Сканер безопасности» 1С-Битрикс расценит это как потенциальную угрозу сайту и будет показывать соответствующее предупреждение в своём журнале.

Сканер безопасности

Как настроить X-Frame-Options на Nginx

1. Найти секцию server, отвечающую за обработку запросов нужного сайта. Как правило это файлы в /etc/nginx/site-enabled/*.conf

Для версий Bitrix VM ниже 7.0 и чистого nginx скорее всего это будет файл /etc/nginx/nginx.conf или etc/nginx/bx/conf/bitrix.conf

Для Bitrix VM 7.0 и выше заголовок вынесен в отдельный файл /etc/nginx/bx/conf/http-add_header.conf

2. В секцию server нужного сайта добавить или закомментировать строку в зависимости от того хотите вы включить использование заголовка или выключить:

add_header X-Frame-Options SAMEORIGIN;

или

#add_header X-Frame-Options SAMEORIGIN;

3. Перезапустить nginx

systemctl restart nginx.service

или

service nginx restart

Как настроить X-Frame-Options на Apache

1. Найти конфигурационный файл для вашего сайта, зачастую это файлы /etc/apache2/httpd.conf, /etc/apache2/vhost.d/*.conf

2. Добавить или закомментировать строки в зависимости от того хотите вы включить использование заголовка или выключить:

<IfModule headers_module>
    Header set X-Frame-Options SAMEORIGIN
</IfModule>

или

<IfModule headers_module>
    #Header set X-Frame-Options SAMEORIGIN
</IfModule>

3. Перезапустить Apache

Либо внести эти же инструкции в файл .htaccess, при этом перезапуск сервера не требуется.

Решение проблем

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

Самой известной проблемой является некорректная работа Вебвизора от Яндекс. Данные собираются валидно, но при попытке просмотреть запись посещения возникает ошибка: «Невозможно воспроизвести посещение на данной странице. Возможные причины: Не установлен код счётчика или установлен запрет на отображение страницы во фрейме.»

Варианты добавления в конфиги исключений сводят всю идею X-Frame-Options на ноль, так как могут быть легко подделаны. Поэтому варианты типа приведенного ниже могут использоваться, но не рекомендуются.

location / {
        set $frame_options '';
        if ($http_referer !~ '^https?:\/\/([^\/]+\.)?(yourdomain\.com|webvisor\.com)\/'){
            set $frame_options 'SAMEORIGIN';
        }
        add_header X-Frame-Options $frame_options;
        ...
    }

Для решения проблемы вам придётся сделать выбор: либо сервис (в данном случае вебвизор), либо безопасность, других вариантов пока к сожалению не существует.

Полезные ссылки

Защита от фреймов в 1С-Битрикс
Яндекс.Метрика: Подключение и настройка Вебвизора 1.0
Атака Clickjacking и защита от неё
Документация на MDN

На этом всё. Но вы можете помочь проекту. Обещаю писать больше полезных статей.

А если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

если не работает плеер вебвизора

Яндекс Метрика: если не работает плеер вебвизора

Иногда пользователи Яндек.Метрика жалуются, что не работает вебвизор. При попытке посмотреть запись посещения появляется информация об ошибке, например «На странице не обнаружен код счетчика либо стоит блок на показ страницы во фрейме».

Если перестал работать webvisor, сначала необходимо проверить, включен ли он вообще. Делать это нужно через настройки счетчика. Существует быстрый путь проверки – нажмите комбинацию клавиш Ctrl+U, перед вами откроется страница кода. Найдите на ней код метрики  и включение вебвизора. Вам нужна строка webvisor:true.

В случае, если нужный код на странице прописан, но webvisor  все равно не работает, причины, почему не работает плеер вебвизора в метрике, могут быть следующими:

  • Пользовательский браузер блокирует приложение.
  • Сервер блокирует приложение (всем известный запрет на демонстрацию страниц во фрейме).

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

Браузер использует блокировщик рекламы

Если не работает карта кликов по этой причине, вы можете легко исправить проблему. Для этого выполните такие шаги:

  1. Кликните правой клавишей мышки на значок блокирующего приложения.
  2. Нажмите «Параметры».
  3. Выберите «Белый список».
  4. Добавьте webvisor.com и metrika.yandex.ru.
  5. Перезагрузите метрику.

Проблема решена!

Сервер блокирует приложение

Если проблема появилась из-за запрета на демонстрацию страниц во фрейме, готовьтесь повозиться. Сначала необходимо определить ошибку наверняка. Это делается просто, нужно лишь соблюдать такие шаги:

  1. Откройте Яндекс Метрика.
  2. Откройте страницу webvisor  либо карт, кликните F12. Перед вами появится перечень инструментов разработчика.
  3. Кликните на пункт «консоль».
  4. Выполните перезагрузку страницы.

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

Если обнаружена блокировка демонстрации ресурса во фрейме, консоль выделит строку  X-Frame-Options: SAMEORIGIN. Она означает, что эта страница:

  • Может быть показана во фреймах используемого хоста.
  • Не может быть показана с любых прочих хостов.

Многие программисты работают над тем, чтобы решить проблему запрета, но пока это можно сделать лишь путем, включающим увеличение уязвимости ресурса. Поэтому перед тем, как убирать запрет, задайте себе вопрос: что вам важнее, безопасность сайте или работа вебвизора?

Фаервол блокирует приложение

Сначала убедитесь, что есть свободный доступ к:

  • mc.yandex.ru.
  • metrika.yandex.ru.
  • к *.yandex.net (в случае, если в настройках приложения указано «Загрузка страниц в плеер — от имени анонимного пользователя», то нужен доступ к ресурсу).

Блокировать доступ к вышеперечисленным ресурсам может фаервол, антивирус либо ограничений корпоративной сети. Путь исправления очень простой – необходимо добавить вышеуказанные ресурсы в перечень доверенных. После убедитесь, что проблема устранена. Если этого не случилось, зайдите с «пустого» браузера, в которой отсутствуют плагины разных типов (в особенности антивирусные аддоны и блокировщики рекламного контента).

Этот способ в 99% ситуаций полностью устраняет причину проблемы и вебвизор начинает воспроизводиться на уровне пользователя.


Поделиться

Установлен запрет на отображение страницы во фрейме: что делать?

Временами у вас могут возникнуть проблемы с вебвизором в метрике "Яндекс. Вебмастера". Вы хотите посмотреть запись посещения вашего сайта, но по непонятным причинам не можете. Скорее всего, установлен запрет на отображение страницы во фрейме.

Что сделать, если вебвизор не работает через "Яндекс. Метрику"

запрет на отображение страницы во фрейме вебвизорДля начала нужно проверить, включён ли у вас вообще вебвизор в метрике (в настройках счётчика). Заходим на страницу сайта, где установлен счётчик метрики. Переходим в просмотр кода страницы нажатием на (ctrl+u), комбинацией ctrl+f начинаем поиск нужного фрагмента кода, а именно - webwizor:true. Если в конце фрагмента стоит false, то код будет работать неправильно. Запрет на отображение страницы во фрейме (вебвизор) подтверждён.

Если вебвизор в метрике всё равно не воспроизводит действий пользователя, то есть несколько вариантов проблемы:

  1. Блокировка со стороны браузера клиента.
  2. Блокировка со стороны сервера, на котором «лежит» ваш сайт.

Рассмотрим оба варианта решения проблемы. Первый вариант: вебвизор не работает по причине блокировки браузером клиента, а значит, установлен запрет на отображение страницы во фрейме.

Блокировка со стороны браузера клиента

Необходимо убедиться в том, что у вас есть доступ к любому адресу "Яндекса": *.yandex.ru. Если в настройках выбран режим инкогнито, то включена блокировка. Доступ к ресурсам может блокироваться антивирусом (проверьте его настройки), фаерволом вашей системы или на уровне подсетей. Для устранения проблемы просто добавьте их в список доверенных сайтов, и проблема должна уйти.

Если проблема с установлением запрет на отображение страницы во фрейме всё-таки осталась, то просто зайдите с чистого браузера - это может быть режим "Инкогнито" или скачанный браузер без плагинов и дополнений, расширений (в случае с "Гугл Хром"). Этот подход устраняет проблему в 99 случаях из 100.

Блокировка со стороны сервера

Второй вариант: установлен запрет на отображение страниц во фрейме. Эту проблему решить немного сложнее, чем в первом случае.

  1. Открываем в "Яндекс. Метрике" раздел "Вебвизор", нажимаем f12 (после нажатия открываются инструменты разработчика).
  2. Вкладка "Консоль", перезагружаем страницу (F5).
  3. В списке ошибок будет подчёркнутая красная строка, там будет написано о проблеме.

Если установлена блокировка показа вашего сайта во фрейме, то в "Консоли" вы увидите такую строку: X-Frame-Options: SAMERIORIGN

установлен запрет на отображение страницы во фрейме

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

Приведем пример: В компании "1-С-Битрикс" говорят: "Вам важнее безопасность сайта или то, что вы не можете посмотреть действия пользователя на вашем сайте?" Для того чтобы убедиться, что именно по этой причине не работает вебвизор, и вы не можете посмотреть, что делают ваши пользователи на сайте, необходимо осуществить проверку ответа сервера на запрос в любом известном сервисе. Введите адрес страницы с установленным вебвизором и получите результат, как на скрине.

открыть страницу во фрейме

Установлен запрет на отображение страницы во фрейме, скрин свидетельствует об этом.

Вы все-таки решили снять запрет? Если он стоит на уровне конфигурации сервера, и вы поставили сайт на виртуальный хостинг, обратитесь в техподдержку.

Если запрет на уровне скрипта, различные cms делают запрос в свои библиотеки безопасности, поэтому проблему решить будет сложнее, чем вы думаете. Открыть страницу во фрейме не удалось? Обратитесь к разработчикам вашей CMS.

Как видите, если установлен запрет на отображение страницы во фрейме, проблему можно решить даже самостоятельно.

Невозможно воспроизвести посещение на данной странице

Встреча партнеров 1С-Битрикс на летней конференции в этот раз проходила в Сколково. Въезд на территорию комплекса по паролю добавил интригу секретности мероприятию, получившему в этом году название Bitrix Day. Разработчики Bitrix по традиции подготовили интересные доклады и анонсировали ближайшие обновления продукта.

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

Обновленная виртуальная машина
На презентации виртуальной машины VM Bitrix Environment v 7.0 для операционной системы CentOS7 с уже встроенным PHP7 сообщили, что проект находится на стадии тестирования и появится на рынке ориентировочно осенью 2016 года.

В обновленной системе кластеризации устранена недоработка, связанная с синхронизацией файлов между нодами. Напомним, что в предыдущей версии Битрикс ВМ 5 при синхронизации файлов требовалось полностью отключить доступ к публичной части сайта, что, в свою очередь, затрудняло до невозможности воспользоваться задуманной логикой автоматизации процесса распределения нагрузки между несколькими WEB серверами.

Прощай безликий посетитель
Представленная технология “Открытые линии” позволит объединить диалоги с пользователями из разных информационных каналов в один чат. Большая часть пользователей сайтов постоянно запогинены в социальных сетях, и теперь при общении с ними через онлайн консультант на Вашем сайте “Открытые линии” будут подгружать данные из профиля пользователя.

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

Чат Боты
Неподдельный интерес аудитории продолжают вызывать доклады посвященные Чат-ботам.
Разработчики сообщили, что анонсированный в марте API-интерфейс написания чат-ботов был значительно усовершенствован и дополнен технической документацией.

Многие обновления Битрикс по традиции выпустили в день конференции, и у партнеров уже есть возможность применять их на своих проектах. В целом, Bitrix Day получился насыщенным и интересным.

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

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