В прошлом месяце многие сайты пострадали в выдаче Яндекса, как потом выяснилось из-за эпидемии "гобонго". В последний АП ситуация не улучшилась. Из наиболее простых способов защиты (не на 100%) можно использовать технологию Content-Security-Policy
Вкратце опишу, как её установить:
Открываете свой файл .htaccess и вставляете в него код. Я вставил в самое начало .htaccess
<ifModule mod_headers.c>
Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' my2.imgsmail.ru www.gstatic.com yandex.st pagead2.googlesyndication.com vk.com cdn.connect.mail.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; object-src 'self' www.gstatic.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: vk.com yastatic.net www.liveinternet.ru counter.yadro.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; media-src 'self'; frame-src 'self' connect.mail.ru googleads.g.doubleclick.net vk.com; font-src 'self'; connect-src 'self' mc.yandex.ru *.gstatic.com"
Header set X-Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' my2.imgsmail.ru www.gstatic.com yandex.st pagead2.googlesyndication.com vk.com cdn.connect.mail.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; object-src 'self' www.gstatic.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: vk.com yastatic.net www.liveinternet.ru counter.yadro.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; media-src 'self'; frame-src 'self' connect.mail.ru googleads.g.doubleclick.net vk.com ; font-src 'self'; connect-src 'self' mc.yandex.ru *.gstatic.com"
Header set X-WebKit-CSP "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' my2.imgsmail.ru www.gstatic.com yandex.st pagead2.googlesyndication.com vk.com cdn.connect.mail.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; object-src 'self' www.gstatic.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: vk.com yastatic.net www.liveinternet.ru counter.yadro.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; media-src 'self'; frame-src 'self' connect.mail.ru googleads.g.doubleclick.net vk.com ; font-src 'self'; connect-src 'self' mc.yandex.ru *.gstatic.com"
</IfModule>
Открываем сайт и смотрим, что у нас из нужных элементов на странице блокируется браузером. Если все работает, то возможно не включен mod headers, обращаемся к хостеру с просьбой включить.
открываем консоль и смотрим какие скрипты блокирует браузер
добавлям в код, который добавили в хтацесс к исключениям этот скрипт или цсс или шрифты, смотря что из нужного для нашего сайта блокируется браузером.
и в том же духе отлаживаем работу CSP пока на сайте все что нужно не заработает
после отладки можно заразить браузер и проверить работу CSP визуально и с помощью консоли
Данная методика может привести к ошибкам загрузки сайта при использовании мобильного браузера (Android, Nokia) Видимо, они подгружают какие-то стили из адресов не указанных в списке. Если у кого есть мысли, как это пофиксить - пишите в теме.
Вкратце опишу, как её установить:
Открываете свой файл .htaccess и вставляете в него код. Я вставил в самое начало .htaccess
<ifModule mod_headers.c>
Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' my2.imgsmail.ru www.gstatic.com yandex.st pagead2.googlesyndication.com vk.com cdn.connect.mail.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; object-src 'self' www.gstatic.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: vk.com yastatic.net www.liveinternet.ru counter.yadro.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; media-src 'self'; frame-src 'self' connect.mail.ru googleads.g.doubleclick.net vk.com; font-src 'self'; connect-src 'self' mc.yandex.ru *.gstatic.com"
Header set X-Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' my2.imgsmail.ru www.gstatic.com yandex.st pagead2.googlesyndication.com vk.com cdn.connect.mail.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; object-src 'self' www.gstatic.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: vk.com yastatic.net www.liveinternet.ru counter.yadro.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; media-src 'self'; frame-src 'self' connect.mail.ru googleads.g.doubleclick.net vk.com ; font-src 'self'; connect-src 'self' mc.yandex.ru *.gstatic.com"
Header set X-WebKit-CSP "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' my2.imgsmail.ru www.gstatic.com yandex.st pagead2.googlesyndication.com vk.com cdn.connect.mail.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; object-src 'self' www.gstatic.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: vk.com yastatic.net www.liveinternet.ru counter.yadro.ru mc.yandex.ru www.google-analytics.com https://www.google-analytics.com; media-src 'self'; frame-src 'self' connect.mail.ru googleads.g.doubleclick.net vk.com ; font-src 'self'; connect-src 'self' mc.yandex.ru *.gstatic.com"
</IfModule>
Открываем сайт и смотрим, что у нас из нужных элементов на странице блокируется браузером. Если все работает, то возможно не включен mod headers, обращаемся к хостеру с просьбой включить.
открываем консоль и смотрим какие скрипты блокирует браузер
добавлям в код, который добавили в хтацесс к исключениям этот скрипт или цсс или шрифты, смотря что из нужного для нашего сайта блокируется браузером.
и в том же духе отлаживаем работу CSP пока на сайте все что нужно не заработает
после отладки можно заразить браузер и проверить работу CSP визуально и с помощью консоли
Данная методика может привести к ошибкам загрузки сайта при использовании мобильного браузера (Android, Nokia) Видимо, они подгружают какие-то стили из адресов не указанных в списке. Если у кого есть мысли, как это пофиксить - пишите в теме.
Изменено:
mirturs - 2 Октября 2014 16:15

пойду кофе пить и еще раз перечитывать.

