1. Главная
  2. Блог
  3. 1С-Битрикс
  4. Если не работает webvisor Яндекс.Метрики

Если не работает webvisor Яндекс.Метрики

18 Апреля 2019
184

Заголовок X-Frame-Options: запрет на отображение страницы во фрейме

web_visor.jpg

От чего защищает X-Frame-Options?

От атак типа «кликджекинг» (англ. Clickjacking).
На русский переводится дословно, как "воровство кликов". Суть заключается в том, что ваш сайт запускают во фрейме на стороннем ресурсе, затем поверх кнопок и других элементов накладывают ссылки на запуск вредоносных программ, либо иных мошеннических действий.

Представьте, что у злоумышленника есть канал на YouTube и ему хочется больше подписчиков.
Он может создать страницу с кнопкой «Не нажимать», что будет значить, что все на неё обязательно нажмут. Но поверх кнопки находится абсолютно прозрачный iframe и в этом фрейме прячется страница канала с кнопкой подписки. Поэтому при нажатии на кнопку, на самом деле пользователь подписывается на канал, если конечно, он был залогинен в YouTube. [Экзотичные заголовки HTTP/Хабр]

Установка значения этого параметра «SAMEORIGIN» разрешает рендеринг документа, при открытии во фрейме - только с того же домена.
В этом случае значительно повышается безопасность сайта и подобная установка крайне рекомендована.
Но при этом перестанет работать webvisor, который использует данную «уязвимость».
Множество ответов на вопрос «что же теперь делать?» предлагают выбрать то, что нас больше привлекает: Безопасность сайта или просмотр активности через webvisor?

Возникает резонный вопрос: «А больше там никого нет?»
Оказывается есть. Существует способ настроить сервер таким образом, чтоб он вебвизору разрешал «лазить по сайту», а всех остальных отправлял по известному адресу (127.0.0.1)

Для типовых решений 1-С Битрикс (например, развернутый сервер на FirstVDS c CentOS + nginx) выполняем следующие действия:
1. в файле

/etc/nginx/bx/maps/common_variables.conf

нужно добавить код
map $http_referer $frame_options {
    "~webvisor.com" "ALLOW-FROM http://webvisor.com";
    default "SAMEORIGIN";
}

2. В файле настроек конкретного сайта

/etc/nginx/bx/site_avaliable/s1.conf

добавить

add_header X-Frame-Options $frame_options;

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

/etc/nginx/bx/conf/http-add_header.conf

В нем уже содержится код

add_header X-Frame-Options SAMEORIGIN;

Тот самый, который не пускает наш Webvisor. Заменяем значение на переменную $frame_options, чтобы получилось

add_header X-Frame-Options $frame_options;

После этого нужно перезапустить nginx.
Для этого в терминале выполняем

systemctl restart nginx

Проверяем настройки безопасности на MainSpy или аналогичном сервисе.
Вводим адрес нашего сайта в строку "Введите URL страницы сайта", нажимаем кнопку "ПРОВЕРИТЬ"
Если в ответе присутствует «X-Frame-Options: SAMEORIGIN» - значит защита от Кликджекинга работает.

mainspy.jpg

А если после этого еще и вебвизор заработал – значит всё сделано правильно!
Не забываем отключать Ad-block для страницы webvisor.com
8 800 201-07-68
Консультации по решению