big boy

big boy
Рейтинг
361
Регистрация
18.11.2006
Должность
webmaster

Итак, констатирую очень важный факт.

CSP лучше работает, если его прописать в .htaccess. За меня лучше скажут скриншоты.

Вписал CSP в index.php, вот результат (точнее его отсутствие):

Сегодня убрал CSP из пхп и сунул точно такие же правила в .htaccess:

Результат на лицо - левые клики прекратились, по крайней мере в очень наглом и массовом виде, как это было раньше. Остались какие-то мизерные переходы, уж не знаю, как они обходят защиту. Возможно действительно прямо в браузере баннеры плавают.

Теперь, что касается правил в .htaccess и ошибок 502 и Internal Server Error - это с вероятностью в 90% происходит не из-за того, что имеют место быть ошибки в синтаксисе, а из-за того, что Apache и Nginx по дефолту пропускают Response Headers в размере 4-8кб. У меня скорее всего установлен нижний порог в 4 килобайта, так как 3,5 пролезает, а если переваливает за 4, то сразу потухает.

Попросил спецов настроить сей момент, увеличив максимально допустимый размер заголовков. Если у вас шаред хостинг - просите саппорт, но скорее всего откажут и придётся урезать CSP в ущерб разнообразия рекламных сетей, и медиа, натыканного с разных источников.

Дорвей детектед. Бан или пессимизация (как минимум) гарантированы через некоторое время.

Вот в этом посте есть пример - /ru/forum/comment/13494264

Вставляю его к себе ради эксперимента - всё ок, по крайней мере сайт открывается.

Меняю на свой новый CSP и либо Internal Error, либо 502. Вот мои правила (с учетом предложенных изменений Ladycharm):

Header set Content-Security-Policy "

default-src
'self'
*.МОЙСАЙТ.РУ
МОЙСАЙТ.РУ;
script-src
'unsafe-inline'
'unsafe-eval'
'self'
МОЙСАЙТ.РУ
*.МОЙСАЙТ.РУ
*.adeasy.ru
adeasy.ru
am15.net
*.am15.net
*.100im.net
100im.net
cityads.ru
*.cityads.ru
ads.actionteaser.ru
vk.com
*.vk.com
https://vk.com
https://*.vk.com
vkontakte.ru
*.vkontakte.ru
https://vkontakte.ru
https://*.vkontakte.ru
adforce.ru
*.adforce.ru
*.yandex.ru
yandex.ru
youtube.com
*.youtube.com
https://youtube.com
https://*.youtube.com
https://*.googleapis.com
https://www.google.ru
*.google-analytics.com
google-analytics.com
https://google-analytics.com
https://*.google-analytics.com
googlesyndication.com
*.googlesyndication.com
https://*.googlesyndication.com
advapi.ru
*.advapi.ru
https://advapi.ru
https://*.advapi.ru
*.google.ru
google.ru
https://google.ru
https://*.google.ru
google.com
*.google.com
https://google.com
https://*.google.com
gstatic.com
*.gstatic.com
https://*.gstatic.com
*.googleapis.com
doubleclick.net
*.doubleclick.net
https://doubleclick.net
https://*.doubleclick.net;
object-src
'self'
'unsafe-inline'
'unsafe-eval'
*.МОЙСАЙТ.РУ
МОЙСАЙТ.РУ
*.cityads.ru
*.yandex.ru
https://an.yandex.ru
https://youtube.ru
https://youtube.com
https://*.youtube.ru
https://*.youtube.com
*.youtube.com
ytimg.com
*.ytimg.com
ytimg.com
https://ytimg.com
https://*.ytimg.com
googlevideo.com
*.googlevideo.com
https://googlevideo.com
https://*.googlevideo.com
*.googleapis.com
googleapis.com
https://*.googleapis.com
https://googleapis.com
gstatic.com
*.gstatic.com
https://*.gstatic.com
doubleclick.net
*.doubleclick.net
https://doubleclick.net
https://*.doubleclick.net
advapi.ru
*.advapi.ru
https://advapi.ru
https://*.advapi.ru
*.twitch.tv
macromedia.com
*.macromedia.com
adobe.com
*.adobe.com;
frame-src
'self'
*.МОЙСАЙТ.РУ
МОЙСАЙТ.РУ
googleads.g.doubleclick.net
*.doubleclick.net
https://doubleclick.net
https://*.doubleclick.net
*.am15.net
am15.net
vk.com
*.vk.com
https://*.vk.com
https://vk.com
google.ru
*.google.ru
https://googleads.g.doubleclick.net
https://youtube.ru
https://youtube.com
https://*.youtube.ru
https://*.youtube.com
*.youtube.com
*.youtube.ru
*.1tv.ru
googlesyndication.com
*.googlesyndication.com
https://googlesyndication.com
https://*.googlesyndication.com
advapi.ru
*.advapi.ru
https://advapi.ru
https://*.advapi.ru
googleadservices.com
*.googleadservices.com
https://*.googleadservices.com;
connect-src
'self'
*.МОЙСАЙТ.РУ
МОЙСАЙТ.РУ
*.googleapis.com
*.google-analytics.com
*.yandex.ru
yandex.ru;
font-src
'self'
*.МОЙСАЙТ.РУ
МОЙСАЙТ.РУ
gstatic.com
*.gstatic.com
https://*.gstatic.com
*.googleapis.com
https://*.googleapis.com;
img-src
'self'
data:
*.МОЙСАЙТ.РУ
МОЙСАЙТ.РУ
vk.com
counter.yadro.ru
*.adeasy.ru
https://vk.com
*.adsniper.ru
*.kavanga.ru
*.bubblesmedia.ru
*.cityads.ru
*.actionteaser.ru
cm.g.doubleclick.net
doubleclick.net
*.doubleclick.net
https://*.doubleclick.net
google-analytics.com
*.google-analytics.com
*.googlesyndication.com
https://*.googlesyndication.com
https://login.vk.com
https://*.google.com
https://google.com
cityads.ru
*.cityads.ru
adobe.com
*.adobe.com
*.yandex.ru
yandex.ru
*.am15.net
am15.net
*.youtube.com
youtube.com
*.2mdn.net
https://*.2mdn.net
*.googleapis.com
gstatic.com
*.gstatic.com
https://*.googleapis.com
https://*.gstatic.com;
media-src
'self'
*.МОЙСАЙТ.РУ
МОЙСАЙТ.РУ
youtube.com
*.youtube.com
https://youtube.com
https://*.youtube.com;
style-src
'self'
'unsafe-inline'
'unsafe-eval'
*.МОЙСАЙТ.РУ
МОЙСАЙТ.РУ
googleapis.com
*.googleapis.com
https://*.googleapis.com
*.youtube.com
youtube.com
*.gstatic.com
https://*.gstatic.com;"

В htaccess естественно вставляю в одну строку. При вставке пробелы между доменами есть, проверял несколько раз.

---------- Добавлено 24.02.2015 в 16:16 ----------

pavel419:
big boy, какой-нибудь левый символ или пробел не там где надо.
То есть тупо ошибка синтаксиса.

Проверял часа два уже. Искал пробелы, табуляцию, русские символы, случайные кавычки, слипшиеся домены, не закрытые точки с запятыми и тд.

nikdiv:
У меня было. Методом тыка пришёл к выводу, что это из-за огромного csp. Стоит уменьшить, неважно начало/конец/середину и всё начинает работать.

А вот это больше похоже на правду. Какая максимальная длина CSP?

---------- Добавлено 24.02.2015 в 16:18 ----------

Кстати, делал эсперимент, в ходе которого установил, что кирилица, избыточные пробелы или табуляция в CSP htaccess - канают и всё работает даже с ними.

---------- Добавлено 24.02.2015 в 16:21 ----------

*.doubleclick.net - подразумевает разрешение на загрузку доменов третьего и более уровней? Например даст ли оно доступ googleads.g.doubleclick.net?

Почему может выдавать 502 ошибку, если вставлять в htaccess? Изменил буквально пару строк, добавив новые адреса и всё сломалось. Более того, работает если вставлять по половине CSP, а целиком не хочет.

Случайно нет какого-нибудь преобразователя CSP из читаемого формата в однострочный? Заколебался уже вручную строки удалять/переносить. Может кто-нибудь сделает и выложит у себя на сайтике? Не думаю, что там очень сложно. А мы в качестве благодарности будем заходить и на рекламу тыкать.

http://o-vk.ru/

Я просто оставлю это здесь ))

and2005, вариантов масса. Проверьте сайт Xenu линком, может где-то в комментах проскочила ссылка.

and2005:
Отражаются ли переходы по рекламе AdSence?

Нет. Клик не регистрируется в ЛИ, так как идёт из фрейма адсенса, который не учитывается в стате счетчика.

Ladycharm, вы прям наш Робин Гуд, спаситель, великий тулбарный воин! )))

Спасибо за советы, попробую.

pavel419:
как оно пролазит?

Возможно реклама не в сайт встраивается, а в сам браузер и крепится к низу страницы например.

pavel419:
big boy, а сколько трафа на сайте? Что-то переходов просто немеряно)

Что-то около 25к было вчера. И то после пессимизации Яшей хз за что.

Всего: 2877