Content Security Policy

 
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 351
Поставил

Код PHP:
  1.  
  2. <IfModule mod_headers.c>
  3. Header set Content-Security-Policy "default-src 'unsafe-inline' 'unsafe-eval' 'self' data: https://www.youtube.com https://yastatic.net https://fonts.gstatic.com https://mc.yandex.ru https://www.googletagmanager.com https://www.google-analytics.com https://fonts.googleapis.com"
  4. </IfModule>
  5.  
Чтобы избавиться от этого, вроде работает
Content Security Policy

Кто нибудь уже настраивал у себя на сайте CSP? У меня все правильно прописано? И есть ли какие то подводные камни с этого?
Редактировалось: 1 раз (Последний: 6 апреля 2019 в 01:10)
Посетитель
small user social cms
Медаль
Сообщений: 136
Почему в .htaccess а не в index.php?
Забыли про яндекс советника.
'unsafe-inline' 'unsafe-eval' - не безопасный вариант.
Код PHP:
  1.  
  2. //////////////////////////*******************
  3. //все HTTP-запросы на https //header("Content-Security-Policy: upgrade-insecure-requests;");
  4. //default-src //В этой директиве задаются белые списки хостов, которые будут автоматически присвоены не заданным директивам.
  5. //script-srс //Белый список хостов с которых разрешается загрузка javascript
  6. //style-src //Белый список хостов с которых разрешается загрузка css
  7. //object-src //Белый список хостов с которых разрешается загрузка Flash-подобных плагинов
  8. //img-src //Белый список хостов с которых разрешается загрузка картинок
  9. //media-src //Белый список хостов с которых разрешается загрузка аудио и видео
  10. //frame-src //Белый список хостов с которых разрешается загрузка iframe'ов
  11. //font-src //Белый список хостов с которых разрешается загрузка шрифтов
  12. //connect-src //Спецдирективы для XMLHttpRequest, WebSocket и EventSource. Для каждой директивы задаётся список хостов, с которыми разрешено общаться браузеру.
  13. //report-uri //Url, на который будет отсылаться JSON-отчёт о нарушениях политики.
  14. //////////////////////////*******************
  15.  
Если не хотите читать справочники итд - готовое решение за символическую плату
Причин может быть несколько...
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 351
В htaccess проще добавить было.
У меня единственная цель была это вырубить советника яши, поэтому пренебрег многочисленными замечаниями, в справочниках и плагинах, по 'unsafe-inline' и 'unsafe-eval'. Без их указания сайт просто "рассыпается".

Кстати, вот неплохой плагин нашел https://chrome.google.com/webstore/detail/csp-evaluator/fjohamlofnakbnbfjkohkbdigoodcejf

Дмитрий Баринов:
готовое решение за символическую плату
Изначально сразу туда и пошел ) Но там указано, что для 2.8.2. А проверять заработает на 2.12.1 или нет не хочется.

Дмитрий Баринов:
Забыли про яндекс советника.
Он и заблокирован, там на скрине
Refused to connect to https://sovetnik.market.yandex.ru because it violates the following Content Security Policy directive:бла- бла-бла

Немного волнуюсь за возможность пессимизации в выдаче со стороны того же яши. Ведь получается, что "какой то простой смертный клоп пошел против их гениального творения" (по факту своей хренью только помогают барыгам, впаривать людям китайские подделки и бу технику после ремонта).
Посетитель
small user social cms
Медаль
Сообщений: 136
Вот для настройки в режиме генератор
Dmitry:
Он и заблокирован, там на скрине
Так Вы хотите его заблокировать или нет? Добавьте в белый список и предупреждение от яндекс пропадет.
//default-src или //script-srс

Dmitry:
Немного волнуюсь за возможность пессимизации
А, вообще не стоит переживать... яндекс живет по принципу - пока платишь мы тебя поставляем пользователям. (как диллер glasses )
* под понятием "платишь" не всегда выступает понятие финансы как благо.
На моей практике было такое...
1 сайт за 1 неделю, по принципу, реклама,реклама,реклама... позиции топ 20. (высокочастотный) запросы - купить продать....
перестал платить - вообще не могу найти!
2 сайт за 2 месяца, по принципу, уник/качество/контент... позиция 64. (высокочастотный) запросы - купить продать....
позиция 75 - 62.
Причин может быть несколько...
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 351
Дмитрий Баринов:
Так Вы хотите его заблокировать или нет?
Заблокировать. Сейчас он заблокирован.
Скоро они как маил ру, в конвульсиях, будут троянов писать, чтобы вживлять свои сервисы прямо в ОС людям, чтобы доказывать всем и каждому какие у них крутые и мегаполезные сервисы. Надеюсь и закончат также laugh

Дмитрий Баринов:
позиция 64. (высокочастотный) запросы - купить продать
Так тут логично ведь. Посещаемость сайта изменилась, позиции упали.
А иначе как им огромное количество сайтов распределять в выдаче? Где показатели выше, тех выше ставят.

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

Кстати, немного подправил конфигурацию, может кому сгодится
Добавить в .htaccess в корне сайта
Код PHP:
  1.  
  2. <IfModule mod_headers.c>
  3. Header set Content-Security-Policy "default-src 'unsafe-inline' 'unsafe-eval' 'self' data: https://www.youtube.com https://vk.com https://yastatic.net https://fonts.gstatic.com https://mc.yandex.ru https://www.googletagmanager.com https://www.google-analytics.com https://fonts.googleapis.com; object-src 'none'"
  4. </IfModule>
  5.  
Редактировалось: 1 раз (Последний: 6 апреля 2019 в 14:13)
Посетитель
small user social cms
Медаль
Сообщений: 136
Дополню информацию для index.php
П.С. Использовать осторожно! Критике и поправкам только рад.
Спойлер
Код PHP:
  1.  
  2. /**
  3.  * Можно предотвратить атаки с использованием подмены MIME типов, добавив этот заголовок ответа HTTP.
  4.  * Заголовок содержит инструкции по определению типа файла и не допускает сниффинг контента.
  5.  * При конфигурации потребуется добавить только один параметр: “nosniff”.
  6.  */
  7. header( 'X-Content-Type-Options: nosniff' );
  8.  
Код PHP:
  1.  
  2. //все HTTP-запросы на https
  3. header("Content-Security-Policy: upgrade-insecure-requests;");
  4.  
Код PHP:
  1.  
  2. //В этой директиве задаются списки хостов, которые будут автоматически присвоены не заданным директивам.
  3. header( "Content-Security-Policy: default-src 'self' site.ru analytics.site.ru cbr.ru ;" );
  4.  
Код PHP:
  1.  
  2. //наследование ссылок - откуда запрос
  3. header( "Content-Security-Policy: base-uri 'self' ;" );
  4.  
Код PHP:
  1.  
  2. //строго блокировать все смешанное содержимое
  3. header( "Content-Security-Policy: block-all-mixed-content ;" );
  4.  
Код PHP:
  1.  
  2. //Специальные директивы для XMLHttpRequest, WebSocket и EventSource. Обратите внимание, что для каждой из этих директив задаётся список не урлов, а хостов, с которыми разрешено общаться браузеру.
  3. header( "Content-Security-Policy: connect-src 'self' site.ru analytics.site.ru cbr.ru money.yandex.ru api-maps.yandex.ru ;" );
  4.  
Код PHP:
  1.  
  2. //список хостов с которых разрешается загрузка javascript
  3. header( "Content-Security-Policy: script-srс 'self' site.ru analytics.site.ru api-maps.yandex.ru ;" );
  4.  
Код PHP:
  1.  
  2. //список хостов с которых разрешается загрузка плагинов, flash
  3. header( "Content-Security-Policy: object-src 'none' ;" );
  4.  
Код PHP:
  1.  
  2. //список хостов с которых разрешается загрузка плагинов, flash
  3. header( "Content-Security-Policy: img-src 'self' site.ru analytics.site.ru api-maps.yandex.ru ;" );
  4.  
Код PHP:
  1.  
  2. //список хостов с которых разрешается загрузка iframe'ов
  3. header( "Content-Security-Policy: frame-src 'self' site.ru analytics.site.ru ;" );
  4. header( "Content-Security-Policy: frame-ancestors 'none';" );
  5.  
Код PHP:
  1.  
  2. //список хостов с которых разрешается загрузка шрифтов
  3. header( "Content-Security-Policy: font-src 'self' site.ru ;" );
  4. header( "Content-Security-Policy: manifest-src 'self' ;" );
  5.  
Код PHP:
  1.  
  2. //Url, на который будет отсылаться JSON-отчёт о нарушениях политики.
  3. header( "Content-Security-Policy: report-uri https://site.ru/folder/hammeranail.php ;" );
  4.  
Код PHP:
  1.  
  2. //Url, на который будет отсылаться JSON-отчёт о нарушениях политики.
  3. //mode=block - блокировать
  4. header ( "X-XSS-Protection: 1; mode=block " );
  5. #header( "X-XSS-Protection: 1; report-uri https://site.ru/folder/cspreport.php ;" );
  6.  
Причин может быть несколько...
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.