Настройка CSP - Content Security Policy

Webliberty
На сайте с 30.10.2010
Offline
129
#71

В отчете такое заблокировано:

"blocked-uri": "https://apps.2gis.ru",
"source-file": "http://an.yandex.ru",

2gis имеет какое-то отношение к Яндексу или нет? Почему источником является an.yandex.ru? Это же код РСЯ?

Такой вопрос возник потому, что после того как настроил CSP счетчик яндекс метрики периодически зависает - кнопка статуса желтой становится и подсказка: код счетчика не установлен, но данные поступают. При обновлении сразу становится зеленым. По отчету CSP больше никаких сайтов связанных с Яндексом не блокирует. Консоль тоже ошибок не выдает.

Счетчик замирает только на сайтах где РСЯ стоит, на остальных с CSP счетчик нормально работает.

https://webliberty.ru | Подпись заверена нотариусом ©️
L
На сайте с 07.12.2007
Offline
351
#72
webliberty:
2gis имеет какое-то отношение к Яндексу или нет?

Не имеет.

Вы никогда сайтом 2gis.ru не пользовались?

Это их приложение, оно заменяет на сайте всё, похожее на телефонные номера, на ссылки на 2gis.ru по этим номерам.

webliberty:
Почему источником является an.yandex.ru? Это же код РСЯ?

На вопрос могут ответить только разработчики этого браузера, тк "source-file" - нестандартное поле в отчёте для CSP 1.0

webliberty:
Счетчик замирает только на сайтах где РСЯ стоит, на остальных с CSP счетчик нормально работает.

Возможно, метрика, установленная отдельно от РСЯ работает чуть по другому, что и блокируется вашей CSP.

У меня метрика(и Google Analytics) работает без проблем. Выкладывайте вашу CSP в топик, url своего сайта только затрите.

Webliberty
На сайте с 30.10.2010
Offline
129
#73

Я знаю что это карты, но не пользовался. Значит пусть остается под запретом и дальше.

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

Осталось решить вопрос с метрикой, почему она так себя ведет при включенном CSP...

C
На сайте с 07.05.2010
Offline
227
#74
webliberty:
Полезная штука, этот CSP, вчера глаза на лоб полезли, когда около 1000 писем пришло на почту с отчетами

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

Webliberty
На сайте с 30.10.2010
Offline
129
#75
ctit:
Сперва тоже настроил на почту, но потом хостер заблокировал ящик. Поэтому лучше и удобнее настроить на вывод файл.

В первом посте есть пример, но я не понял чем заменить путь (относительный или полный):

if (spam($data)==0) file_put_contents($_SERVER['DOCUMENT_ROOT'].'/путь/'.date("H").'-csp-report.txt', $data."\n", FILE_APPEND | LOCK_EX);

и в какой файл будет сохраняться отчет, в -csp-report.txt?

Поделитесь, пожалуйста, примером :)

C
На сайте с 07.05.2010
Offline
227
#76

if (spam($data)==0) file_put_contents($_SERVER['DOCUMENT_ROOT'].'/'.date("H").'-csp-report.txt', $data."\n", FILE_APPEND | LOCK_EX);

Здесь все файлы будут сохранятся в корневой каталог сайта. Но ведь не удобно. Поэтому можно сделать папку csp, и тогда:


if (spam($data)==0) file_put_contents($_SERVER['DOCUMENT_ROOT'].'/csp/'.date("H").'-csp-report.txt', $data."\n", FILE_APPEND | LOCK_EX);

Файлы будут по часам.

Например,

01-csp-report.txt

02-csp-report.txt

11-csp-report.txt

17-csp-report.txt

Удобно, когда только начали фильтрацию.

Webliberty
На сайте с 30.10.2010
Offline
129
#77

ctit, эти файлы нужно самому создавать? Никаких отчетов не появляется... Права на папку 777 выставил.

PS: разобрался, сделал ошибку) Исправил и все работает, спасибо

grafoman
На сайте с 02.04.2010
Offline
130
#78

Народ, дайте линк плиз на подробную инструкцию по установки защиты. И вопрос - как быть с Тизернетом (продвинутый код), там постоянно домены разные.

F
На сайте с 01.07.2009
Offline
79
#79

А что означает вот эта строчка?

$mas[]=Array(список для игнора);

C
На сайте с 07.05.2010
Offline
227
#80
fiper:
А что означает вот эта строчка?

$mas[]=Array(список для игнора);

Это url вирусняков или спецкоманд браузера.


$mas[]='"data"';$mas[]='safari-resource:';$mas[]='ybnotification:';$mas[]='webviewprogressproxy';
$mas[]='chromenull:';$mas[]='chromeinvoke:';$mas[]='chromeinvokeimmediate';$mas[]='wyciwyg:';$mas[]='safari-extension:';
$mas[]='"null"';$mas[]='""';$mas[]='"about"';$mas[]='"asset"';$mas[]='mx:';$mas[]='mbinit:';$mas[]='localhost';$mas[]='command:';

$mas[]='"data:text';$mas[]='asabor.ru';$mas[]='url вирусняков';

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

Если отчет содержит один из этих url - не пишем в файл


function spam($data)
{
$mas[]=Array(список для игнора);

$kol=count($mas);
$result=0;
for ($i=0; $i<$kol; $i++)
{
if ($mas[$i]) $result=strpos($data,$mas[$i]);
if ($result>0) $i=$kol;
}

return $result;

}

header("HTTP/1.0 204 No Response");

$data = file_get_contents('php://input');
if ($data = json_decode($data))
{
$data = json_encode($data)."\n\r";
if (spam($data)==0) file_put_contents($_SERVER['DOCUMENT_ROOT'].'/путь/'.date("H").'-csp-report.txt', $data."\n", FILE_APPEND | LOCK_EX);
}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий