Собственно, я с линуха сижу и в ус не дую, но over99,9% хомячков используют винду, ту ещё банку с червями...
Казалось бы, как «зараженные клиенты» (сидящие дома в тапках) могут испортить сайт (размещенный где-то в дата-центре)? А дело тут во взаимодействии клиентов и сервера...
Сайт генерируется неким скриптом (похапэ / питон / пэрл / жаба-нэтом или вин-аспэхой), а в браузеры отдается html-выхлоп. С этим все так, а вот с JavaScript дела обстоят иначе, особенно когда дело касается рекламы...
Воткнув рекламный код, мы проверяем чтобы реклама работала и все... Думаем, что теперь у нас все в шоколаде, держим карман шире в ожидании первой выплаты с партнерки. Но подождите, давайте посмотрим как реклама работает.
1.) Браузер получает от сервака html-документ, в который вписаны пути к внешним JS-файлам. Внешний файл может быть как на нашем сервере (например библиотека jQuery или свисто-перделки-слайдеры), так и на сервере партнерки. Либу jQuery тоже можно грузить прямо с гугла.
2.) Блокировщики рекламы, в свою очередь, запрещают браузеру грузить некоторые файлы. Недавно ковырялся с прикручиванием рекламы, но так ничего и не увидел в выхлопе пока не вырубил AdBlockPlus.
3.) Логично предположить, что если блокировщик имеет некоторую власть над браузером, то можно написать вирус, который будет заниматься подменой рекламы в браузерах. И, такие вирусы уже во всю пишутся...
В чем вред сайту?Ну, во-первых, клики будут не по вашей рекламе, а по рекламе вирусописателя (или заказчика вируса). Ваши доходы уходят в чужой карман — это понятно надеюсь??? А во-вторых, яндексоиды на вас еще и фильтр наложал и в выдаче понизят. Яндекс «типа на стороне пользователей» и писсимизирует сайты с хреновой рекламой.
22 сентября 2014 года Яндексоиды напомнили веб-раработчикам, что будут карать за агрессивную монетизацию. И попасть в немилость можно даже не по своей вине, а по вине зараженных посетителей на сайте. Даже если на сайте вообще нет рекламы, зараженный посетитель все равно получит целый вагон отвратительнейших попандеров и кликандеров. Даже к почте на mail.ru прикручивается вообще левая реклама (это кстати признак, что ваша машина заражена).
На «другом сео-форуме» уже обсасывалось (_http://searchengines.guru/showthread.php?t=866823&page=76) а у нас еще нет.
Суть подклеивания чужой рекламы напоминает xss-атаку, только не на сайт, а на клиента.
Решение проблемы (сыроватое и требует индивидуального напильника)Технологи
Content-Security-Policy от конторы
w3c (Консорциум Всемирной паутины). Кто совсем в танке: именно эта контора пилит стандарты html, прошу любить и жаловать.
Плюшка занимается тем, что запрещает подгружать в браузеры все кроме разрешенного в белом списке. Так что пилить список придется индивидуально, либо копипастить готовый и допиливать под себя.
Для Apache и NGINX код будет отличаться, для других веб-серверов я вообще без понятия...
Если у вас хостинг, сначала спросите у поддержки о наличии технологии
Content-Security-Policy. На вашем хосте её может и не быть... На серверах — как обычно, все делать самому.
Уже есть чуваки, которые за символическую плату и без предоплаты пишут конфиг. Вот скайп одного из них:
wmasn1Даю ссылок:Новость в партнерке advmarket (там дан код, но скопировав его замените «красивые кавычки» на "понятные серверу", прежде чем заявлять о кривизне кода и 500-й ошибке) _http://blog.advmaker.net/est-lechenie-ot-unknown-perehodov/
Пост яндексоидов на хабре, как они прикручивали технологию к яндекс-почте (там же прокомментирован синтаксис, если будете писать конфиг сами это пригодится) _http://habrahabr.ru/company/yandex/blog/206508/
И вот это еще стоило бы почитать _http://romka.eu/blog/vvedenie-v-content-security-policy
P.S: в этой ветке можно обмениваться готовыми конфигами для CMS и собрать списком необходимый для большинства партнерок белый список.
Даю рабочий вариант для DLE (используется на хостинге конторы Sweb, где связка Apache и NGINX):<ifModule mod_headers.c>
Header set Content-Security-Policy "default-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval' c.100im.info vk.com slycc.com *.am15.net am15.net yandex.st ajax.googleapis.com; style-src 'self' 'unsafe-inline' *.am15.net fonts.googleapis.com; frame-src *"
</IfModule>
Для меня самого это пока филькина грамота, ибо не вкурил еще синтаксис... Но из знакомого вижу: ajax.googleapis.com (для подгрузки jQuery и Ajax), да self (разрешает грузить скрипты с домена самого сайта).
P.P.S:Если уже влетели под фильтр, не забывайте отписаться яндексоидам о решении проблемы, когда зафильтрите эту дрянь.