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

С1
На сайте с 31.01.2015
Offline
77
#501
Ladycharm:
Да. Сейчас посмотрю что и откуда сайт nagitaru.ru подгружает.

PS: Принималку отчетов можно потом поставить, если потребуется

А может тогда сделать сейчас с отчетом, а я если вдруг увижу, что накладно это все, то удалю csp.php файл. Можно так?

L
На сайте с 07.12.2007
Offline
351
#502
Серегей13:
А может тогда сделать сейчас с отчетом, а я если вдруг увижу, что накладно это все, то удалю csp.php файл. Можно так?

Можно, но все "принималки отчётов" - после настройки CSP.

На сайте есть форум. На форумы юзеры обычно вставляют картинки отовсюду - img-src открываем для всех доменов или у вас картинки показываются только с самого домена форума?

На странице http://nagitaru.ru/forum/kak-nastroit-git/mikrofon-tyuner/ есть вызов flash программы настройки микрофона:

<object width="720" height="220" data="http://fb790832.bget.ru/tuner/microphonetuner.swf" type="application/x-shockwave-flash"><param name="quality" value="high" /><param name="scale" value="exactfit" /><param name="salign" value="l" /><param name="wmode" value="transparent" /><param name="src" value="http://fb790832.bget.ru/tuner/microphonetuner.swf" /></object>

значит надо открывать доступ к fb790832.bget.ru тоже.

С1
На сайте с 31.01.2015
Offline
77
#503
Ladycharm:
Можно, но все "принималки отчётов" - после настройки CSP.

На сайте есть форум. На форумы юзеры обычно вставляют картинки отовсюду - img-src открываем для всех доменов или у вас картинки показываются только с самого домена форума?

На странице http://nagitaru.ru/forum/kak-nastroit-git/mikrofon-tyuner/ есть вызов flash программы настройки микрофона:
значит надо открывать доступ к fb790832.bget.ru тоже.

На форуме все файлы подгружаются непосредственно с форума.

Забыл про тюнер . fb790832.bget.ru тоже нужно открыть. И еще вот этот: fb79108d.bget.ru

---------- Добавлено 30.04.2015 в 00:07 ----------

Серегей13:
На форуме все файлы подгружаются непосредственно с форума.
Забыл про тюнер . fb790832.bget.ru тоже нужно открыть. И еще вот этот: fb79108d.bget.ru

Хотя лучше откройте картинки форума для всех доменов, на всякий. Это ведь не опасно.

---------- Добавлено 30.04.2015 в 00:55 ----------

Что то не так пошло? Что то вы пропали.

L
На сайте с 07.12.2007
Offline
351
#504
Серегей13:
Что то не так пошло? Что то вы пропали.

Всё нормально, робот ещё проверяет ваш сайт - там ещё много чего надо открывать:

- metacafe.com и ютуб в object-src

картинки у вас грузятся с:

- radikal.ru

- gallery.sevstar.net

- gravatar.com (это Вордпрессовкая фишка)

скрипты с:

- ajax.googleapis.com

- scriptjava.net

видео в фрейме с: vk.com, video.rutube.ru и ютуба

Завтра(уже сегодня) будет ваша CSP.

С1
На сайте с 31.01.2015
Offline
77
#505
Ladycharm:
Всё нормально, робот ещё проверяет ваш сайт - там ещё много чего надо открывать:
- metacafe.com и ютуб в object-src
картинки у вас грузятся с:
- radikal.ru
- gallery.sevstar.net
- gravatar.com (это Вордпрессовкая фишка)
скрипты с:
- ajax.googleapis.com
- scriptjava.net
видео в фрейме с: vk.com, video.rutube.ru и ютуба

Завтра(уже сегодня) будет ваша CSP.

Это хорошо! Очень жду!

0
На сайте с 01.10.2008
Offline
102
0ca
#506

Товарищи, помогите допилить CSP для сайта!

На сайте Адсенс, счетчик ЛИ, поиск гугла и кнопки соцсетей. По результатам чтения советов в этой теме был составлен такой код для допуска своих и сторонних скриптов:


script-src 'self' 'unsafe-eval' 'unsafe-inline' mysite.com *.mysite.com *.doubleclick.net https://*.doubleclick.net *.googlesyndication.com https://*.googlesyndication.com *.gstatic.com https://*.gstatic.com *.google.com google.com https://*.google.com yadro.ru https://yadro.ru *.yadro.ru https://*.yadro.ru https://apis.google.com *.twitter.com twitter.com *.facebook.net facebook.net;\

Как правильно прописать в CSP скрипт для работы гугло-поиска: нужно оставить *.google.com google.com https://*.google.com или достаточно будет cse.google.com?

L
На сайте с 07.12.2007
Offline
351
#507
0ca:
На сайте Адсенс, счетчик ЛИ, поиск гугла и кнопки соцсетей.

Адсенс показывается в <iframe>, видео-обявления бывают в <object>, а у вас в CSP - только одна директива script...

0ca:
Как правильно прописать в CSP скрипт для работы гугло-поиска: нужно оставить *.google.com google.com https://*.google.com или достаточно будет cse.google.com?

Google CSE может использовать не только google.com, но и любой национальный домен - google.com.ua, google.ru и тп. Надо смотреть ваши скрипты от Google.

Плюс, под CSE надо открывать доступ в директивах frame/style/img/object, а не только в script.

PS: Те, кто собирает обрывки CSP по форумам - потом создаёт топики а-ля "Включил CSP - упал доход на Адсенс"

0
На сайте с 01.10.2008
Offline
102
0ca
#508

Ladycharm, привожу полностью собранный по обрывкам CSP:

<ifModule mod_headers.c>

Header set Content-Security-Policy "\
default-src 'self' mysite.com *.mysite.com;\
connect-src 'self' mysite.com *.mysite.com https://translate.googleapis.com;\
font-src 'self' mysite.com *.mysite.com *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com;\
frame-src 'self' mysite.com *.mysite.com *.doubleclick.net https://*.doubleclick.net *.googleadservices.com https://*.googleadservices.com *.googlesyndication.com https://*.googlesyndication.com https://apis.google.com *.twitter.com twitter.com https://*.twitter.com *.facebook.com facebook.com https://*.facebook.com;\
img-src 'self' mysite.com *.mysite.com *.2mdn.net https://*.2mdn.net data: *.doubleclick.net https://*.doubleclick.net *.googleapis.com https://*.googleapis.com *.googlesyndication.com https://*.googlesyndication.com *.gstatic.com https://*.gstatic.com yadro.ru https://yadro.ru *.yadro.ru https://*.yadro.ru;\
object-src 'self' mysite.com *.mysite.com *.doubleclick.net https://*.doubleclick.net *.gstatic.com https://*.gstatic.com;\
script-src 'self' 'unsafe-eval' 'unsafe-inline' mysite.com *.mysite.com *.doubleclick.net https://*.doubleclick.net *.googlesyndication.com https://*.googlesyndication.com *.gstatic.com https://*.gstatic.com *.google.com google.com https://*.google.com yadro.ru https://yadro.ru *.yadro.ru https://*.yadro.ru https://apis.google.com *.twitter.com twitter.com *.facebook.net facebook.net;\
style-src 'self' 'unsafe-inline' mysite.com *.mysite.com *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com;\
"
</IfModule>

Гугло-поиск ориентирован на домен google.com, другие национальные домены гугла в скриптах на этом сайте не используются.

Все вроде бы работает, доход пока не упал, но и не прибавился, увы...

L
На сайте с 07.12.2007
Offline
351
#509
0ca:
Ladycharm, привожу полностью собранный по обрывкам CSP:

Добавьте:

*.google.com https://*.google.com - во все директивы, кроме default-src и connect-src:

*.googleapis.com https://*.googleapis.com в директиву script-src

PS: По кнопкам соцсетей - ничего не скажу, ибо не знаю чьи кнопки у вас стоят - Яндекс.share, share42, Pluso share, Reddit share, Stumble Upon share, Addthis buttons или что-то самопальное.

0
На сайте с 01.10.2008
Offline
102
0ca
#510

Ladycharm, добавлено, благодарю за замечания.

Коды для соц-кнопок взяты непосредственно с сайтов твиттера и фэйсбука.

Твиттер запрашивает //platform.twitter.com/widgets.js , фэйсбук - //connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.3 (при этом, как я понимаю, фрейм создается на facebook.com, поэтому в директиве frame-src другой адрес). Для гугловского +1 используется скрипт https://apis.google.com/js/plusone.js

Чтобы не запутаться, привожу код CSP с учетом внесенных изменений полностью:

<ifModule mod_headers.c>

Header set Content-Security-Policy "\
default-src 'self' mysite.com *.mysite.com;\
connect-src 'self' mysite.com *.mysite.com https://translate.googleapis.com;\
font-src 'self' mysite.com *.mysite.com *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com *.google.com https://*.google.com;\
frame-src 'self' mysite.com *.mysite.com *.doubleclick.net https://*.doubleclick.net *.googleadservices.com https://*.googleadservices.com *.googlesyndication.com https://*.googlesyndication.com *.google.com https://*.google.com https://apis.google.com *.twitter.com twitter.com https://*.twitter.com *.facebook.com facebook.com https://*.facebook.com;\
img-src 'self' mysite.com *.mysite.com *.2mdn.net https://*.2mdn.net data: *.doubleclick.net https://*.doubleclick.net *.googleapis.com https://*.googleapis.com *.googlesyndication.com https://*.googlesyndication.com *.gstatic.com https://*.gstatic.com *.google.com https://*.google.com yadro.ru https://yadro.ru *.yadro.ru https://*.yadro.ru;\
object-src 'self' mysite.com *.mysite.com *.doubleclick.net https://*.doubleclick.net *.gstatic.com https://*.gstatic.com *.google.com https://*.google.com;\
script-src 'self' 'unsafe-eval' 'unsafe-inline' mysite.com *.mysite.com *.doubleclick.net https://*.doubleclick.net *.googlesyndication.com https://*.googlesyndication.com *.gstatic.com https://*.gstatic.com *.googleapis.com https://*.googleapis.com *.google.com https://*.google.com yadro.ru https://yadro.ru *.yadro.ru https://*.yadro.ru https://apis.google.com *.twitter.com twitter.com *.facebook.net facebook.net;\
style-src 'self' 'unsafe-inline' mysite.com *.mysite.com *.googleapis.com https://*.googleapis.com *.gstatic.com https://*.gstatic.com *.google.com https://*.google.com;\
"
</IfModule>

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