Предыстория такая:
- Пару недель назад на одном моём сайте полностью пропал трафик с Яндекса, все позиции в Яндексе упали в -20 -30.
- Техподдержка Яндекса сообщила, что произошло это по причине "На Вашем сайте нашими алгоритмами были зафиксированы перенаправления пользователей на сайты, связанные с смс-мошенничеством. Вероятнее всего источником подобных перенаправлений послужили реклама или ссылки, установленные на Вашем сайте. Возможно, страницы-дорвеи с подобными элементами были размещены на сайте без Вашего ведома."
- Сайт чист, вирусов нет, дорвеев нет, странных ссылок нет, проверено 10 раз! Уж я на этом деньги зарабатывал, фрилансив.
- Однако в Метрике в отчете Содержимое - Внешние ссылки есть непонятные переходы на всякие разводиловки вроде покера, cityadspix.com, gobongo. Проверьте у себя, и у вас они будут
- Далее выясняется, что сайты вылетают с позиций в Яндексе и теряют посещаемость у многих:
searchengines.guru/showthread.php?t=866823. Вылетают сайты с высокой посещаемостью, с рекламой и без, но чаще с рекламой. Все сайты чистые, ссылок этих (по которым переходят) на сайтах нет!
- Откуда же тогда берутся эти переходы, если на сайтах нет вирусов и нет ссылок? А переходы эти берутся с зараженных троянами и псевдо-дополнениями к браузерам компьютеров посетителей. Например ставит себе человек какой-нибудь vk-saver или Magic Player и вместо рекламы adsense и РСЯ он начинает видеть на всех сайтах голых женщин и покер, а если рекламы нет, то встраивается их ***-реклама прямо в футер или верхушку сайта. Примерно вот так:
И кто-то на этом зарабатывает миллионы...
Ходят эти зараженные посетители по вашему сайту, им троян подменяет вашу рекламу или срипты на тизеры, а эти товарищи кликают на них. А ваш сайт по новому алгоритму Яндекса
http://webmaster.ya.ru/replies.xml?item_no=19327 улетает в бан до того времени пока клики и переходы не исчезнут. Ну то есть вы поняли - до навсегда.
Почему нужно с этим бороться?
1) Ваш сайт рискует получить санкции от Яндекса
2) Подменяя ваши блоки Adsense и РСЯ они крадут ваши деньги, которые вы не получаете с рекламы. А для многих - это единственных доход с сайта.
Как бороться с этим? Решение нашлось. Нужно указать в заголовке страницы, что ваш сайт должен грузить все скрипты с вашего домена и ниоткуда более. Для этого поможет директива Content-Security-Policy, к счастью она уже поддерживается всеми современными браузерами, а для WP и Drupal я даже нашел плагины, включающие ее на сайте. Эту директиву уже начали использовать всякие Facebook и Twitter, так чем мы хуже?
Плагин для Joomla от внедрения вредоносных скриптов в код страницы Content Security Policy для Joomla 2.5http://www.joomla15.ru/files/plugins/item/plugins-for-joomla15/consecpolicy-joomla.htmlВторой способ вручную через .htaccess:
Пример. Мы хотим запретить браузерам на нашем сайте загружать скрипты со сторонних сайтов, картинки разрешить с любых, frame и object - ни с каких.
Content-Security-Policy allow 'self'; img-src * ; script-src AJAX.googleapis.com 'self'; frame-src 'none'; object-src 'none'
Вот генератор директивы:
http://cspisawesome.comКод для .htaccess:
# Security improvements
<ifModule mod_headers.c>
Header set Content-Security-Policy "allow 'self'; img-src * ; script-src AJAX.googleapis.com 'self'; frame-src 'none'; object-src 'none'"
</IfModule>
В техподдержке хостинга узнавайте есть ли у них mod_headers, иначе может не работать.
Строку нужно модифицировать под себя, иначе сразу отрубаются всякие виджеты вконтакте, счетчики посещаемости и скорее всего CAPTCHA. Например, чтобы разрешить inline скрипты, нужно прописать script-src 'self' 'unsafe-inline', но это снижает безопасность.
p.s. это пока написано на скорую руку, будет дорабатываться.