Geektimes присоединился к некой «партнерской программе», заменяющей прямые ссылки ссылками со скриптом перенаправления.

В код HTML добавился следующий внешний скрипт:

<script src="//js.mamydirect.com/js/?h=CqwpgTi7" type="text/javascript" async></script>

Скрипт, подключенный на страницы гиктаймза, заменяет ссылки, ведущие не на файлы .jpg, .bmp, .pdf, .png, .zip и .gif, находящихся не на доменах из черного списка, ссылкой с редиректом через скрипт http://js.mamydirect.com/redir/clickGate.php, вида:

http://js.mamydirect.com/redir/clickGate.php?u=RGm1L5B5&m=1&p=8d1pun3ZhJ&t=CqwpgTi7&st=&s=&splash=0&abp=1&url=https%3A%2F%2Fmeduza.io%2Fnews%2F2017%2F06%2F09%2Fdyru-v-reestre-roskomnadzora-ispolzovali-protiv-platezhnyh-serverov-rossiyskih-bankov&r=https%3A%2F%2Fgeektimes.ru%2Fpost%2F289947%2F

Он же, в свое время, добавляет куки PHPSESSID и совершает перенаправление на URL, указанный в ссылке.

HTTP/1.1 302 Found
Cache-Control: no-cache
Cache-Control: post-check=0, pre-check=0
Content-Type: text/html; charset=UTF-8
Date: Wed, 22 Nov 2017 16:42:06 GMT
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Wed, 22 Nov 2017 16:42:06 GMT
Location: https://meduza.io/news/2017/06/09/dyru-v-reestre-roskomnadzora-ispolzovali-protiv-platezhnyh-serverov-rossiyskih-bankov
P3P: policyref="/w3c/p3p.xml", CP="NOI CUR OUR STP"
Pragma: no-cache
Server: Apache
Set-Cookie: PHPSESSID=3db1013v30od6hqb8ockc2nq90; path=/
Vary: Accept-Encoding
Content-Length: 0
Connection: keep-alive

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

Заблокировать скрипт можно, добавив домен js.mamydirect.com в блокировщик рекламы.

Вынужден считать это полным скамом и неуважением к пользователям, увы.

Черный список доменов, ссылки на которые не будут подменены
var ao_aB = new Array("adgoal.de", "adtago.de", "addthis.com", "doubleclick.net", "doubleclick.net", "googleadservices.com", "googlesyndication.com", "google-analytics.com", "oingo.com", "urchin.com", "appliedsemantics.com", "overture.com", "intellitxt.com", "ligatus.com", "motorpresse.de", "freenet.de", "msn.com", "belboon.de", "adtech.de", "zanox.de", "zanox.com", "zanox-affiliate.de", "google.com", "google.at", "google.de", "comissionjunction.com", "cj.com", "qksrv.net", "dpbolvw.net", "adbutler.de", "tradedoubler.com", "quality-channel.de", "adition.com", "ligatus.de", "adpublisher.com", "webgains.de", "affiliwelt.net", "affiliwelt.de", "contaxe.com", "ad-srv.net", "adyard.de", "adverserve.net", "mediaplex.com", "smartadserver.com", "adalizer.com", "quartermedia.de", "mpnrs.com", "bluelithium.com", "adcloud.net", "performance-netzwerk.de", "erange.de", "twenga.de", "twenga.com", "clixgalore.com", "tradetracker.net", "shareasale.com", "pepperjamnetwork.com", "linksynergy.com", "retailerweb.net", "plista.com", "digidip.de", "digidip.net", "yieldkit.com", "facebook.com", "twitter.com", "adf.ly", "youtube.com", "imgbox.com", "yahoo.com", "outbrain.com", "wikipedia.org", "go2cloud.org", "whatsapp.com", "imagebam.com", "feedburner.com", "youtu.be", "instagram.com", "pinterest.com", "imgur.com", "spiegel.de", "bild.de", "reddit.com", "outbrain.com", "goo.gl", "bit.ly", "ktxtr.com", "admitad.com", "yandex.ru");

Полный код скрипта в читаемом виде
var ao_cpc_visit_ts = 0;
var ao_isSL = true;
if (typeof(ao_isST) == 'undefined' || ao_isST == null) var ao_isST = false;
var ao_isLB = false;
var ao_isNF = true;
var ao_st_marker = false;
var ao_sl_marker = false;
var ao_sl_marker_tld_list = new Array();
var ao_sl_marker_info_id = false;
var ao_sl_marker_info_msg = false;
var ao_sl_marker_ignore_class = false;
var ao_sl_ignore_class = false;
var ao_unlinklist = '';
if (typeof(ao_query) == 'undefined' || ao_query == null) var ao_query = '';
if (typeof(ao_subid) == 'undefined' || ao_subid == null) var ao_subid = '';
if (typeof(ao_contextmenu) == 'undefined' || ao_contextmenu == null) var ao_contextmenu = true;
if (typeof(ao_splash) == 'undefined' || ao_splash == null) var ao_splash = "2";
if (typeof(ao_forceblank) == 'undefined' || ao_forceblank == null) var ao_forceblank = false;
var ao_ex_el = 'html,head,style,script,img,iframe,select,input,textarea,title,link,audio,br,button,meta,a,object,iframe,ins,noscript,';
var ao_blacklist = "";
var ao_stw = [];
var ao_isIE = navigator.appName.indexOf("Explorer") != -1 ? true : false;
var ao_gf = false,
    ao_gg = 0,
    AO_MARKER_CHECK_RESULT = [];
var ao_gi = false;
var ao_aB = new Array("adgoal.de", "adtago.de", "addthis.com", "doubleclick.net", "doubleclick.net", "googleadservices.com", "googlesyndication.com", "google-analytics.com", "oingo.com", "urchin.com", "appliedsemantics.com", "overture.com", "intellitxt.com", "ligatus.com", "motorpresse.de", "freenet.de", "msn.com", "belboon.de", "adtech.de", "zanox.de", "zanox.com", "zanox-affiliate.de", "google.com", "google.at", "google.de", "comissionjunction.com", "cj.com", "qksrv.net", "dpbolvw.net", "adbutler.de", "tradedoubler.com", "quality-channel.de", "adition.com", "ligatus.de", "adpublisher.com", "webgains.de", "affiliwelt.net", "affiliwelt.de", "contaxe.com", "ad-srv.net", "adyard.de", "adverserve.net", "mediaplex.com", "smartadserver.com", "adalizer.com", "quartermedia.de", "mpnrs.com", "bluelithium.com", "adcloud.net", "performance-netzwerk.de", "erange.de", "twenga.de", "twenga.com", "clixgalore.com", "tradetracker.net", "shareasale.com", "pepperjamnetwork.com", "linksynergy.com", "retailerweb.net", "plista.com", "digidip.de", "digidip.net", "yieldkit.com", "facebook.com", "twitter.com", "adf.ly", "youtube.com", "imgbox.com", "yahoo.com", "outbrain.com", "wikipedia.org", "go2cloud.org", "whatsapp.com", "imagebam.com", "feedburner.com", "youtu.be", "instagram.com", "pinterest.com", "imgur.com", "spiegel.de", "bild.de", "reddit.com", "outbrain.com", "goo.gl", "bit.ly", "ktxtr.com", "admitad.com", "yandex.ru");
var ao_aBU = ao_blacklist.split(",");
for (var x = 0; x < ao_aBU.length; x++)
    if (ao_aBU[x].length > 0) ao_aB.push(ao_aBU[x]);
var ao_uL = new Array();
if (ao_unlinklist != "") {
    var ao_uLU = ao_unlinklist.split(",");
    for (var x = 0; x < ao_uLU.length; x++) ao_uL.push(ao_uLU[x]);
}
var ao_abpc = true;
var ao_gb = 4;

function ao_gc() {
    var ao_abt = document.createElement('script');
    ao_abt.src = '//abp.smartadcheck.de/js/abpc.js?#ads/banner/ad/';
    ao_abt.type = 'text/javascript';
    if (document.body) document.body.appendChild(ao_abt);
    else if (ao_gb > 0) {
        ao_gb--;
        setTimeout("ao_gc()", 200);
    }
}
ao_gc();

function ao_fc() {
    ao_isSL = false;
    if (typeof(ao_sl_sec) == "undefined" || ao_sl_sec == null || ao_sl_sec == "") {
        ao_fd(document.body);
    } else {
        var chk = false;
        for (var u = 0; u < ao_sl_sec.length; u++) {
            if (ao_sl_sec[u].n == 1) continue;
            var x = document.getElementsByTagName(ao_sl_sec[u].e);
            for (i = 0; i < x.length; i++) {
                if (ao_sl_sec[u].a == "class" && typeof(x[i].className.toLowerCase) == 'function') {
                    if (x[i].className.toLowerCase().substr(0, ao_sl_sec[u].v.length) == ao_sl_sec[u].v.toLowerCase()) ao_fd(x[i]);
                    chk = true;
                } else if (typeof(x[i].id.toLowerCase) == 'function') {
                    if (x[i].id.toLowerCase().substr(0, ao_sl_sec[u].v.length) == ao_sl_sec[u].v.toLowerCase()) ao_fd(x[i]);
                    chk = true;
                }
            }
        }
        if (!chk) {
            ao_fd(document.body);
        }
    }
    if (ao_sl_marker && !ao_gf && ao_sl_marker_tld_list.length > 0 && ao_gg == ao_sl_marker_tld_list.length && (!ao_isLB || ao_gi)) {
        ao_gf = true;
        ao_ge(JSON.stringify(ao_sl_marker_tld_list));
    } else {
        ao_gg = ao_sl_marker_tld_list.length;
    }
}

function ao_fd(sN) {
    if (sN != "undefined" && sN.childNodes != "undefined" && !ao_fk(sN, 0)) {
        var chN = sN.childNodes;
        var i = 0;
        while ((i < chN.length) && (chN.length != 0)) {
            if (chN[i] == "undefined") continue;
            var cN = chN[i];
            i++;
            if (cN.nodeType != 1) continue;
            if (cN.childNodes != "undefined" && cN.childNodes.length > 0 && ao_ex_el.indexOf(cN.nodeName.toLowerCase() + ',') === -1 && !ao_fk(cN, 0)) ao_fd(cN);
            if (cN.nodeName.toLowerCase() != "a") continue;
            if (!ao_fk(cN, 0)) {
                ao_fe(cN);
            }
        }
    }
}

function ao_fe(cN) {
    if (cN.nodeName.toLowerCase() != "a") return;
    if (cN.href.substring(0, 4).toLowerCase() != "http") return;
    if (cN.href.substring(cN.href.length - 4).toLowerCase() in {
            '.jpg': '',
            '.bmp': '',
            '.pdf': '',
            '.png': '',
            '.zip': '',
            '.gif': ''
        }) return;
    var _x = cN.getAttribute("ao_sl_href", 0);
    if (_x && _x.length > 0) return;
    var locHost = location.hostname.replace("www.", "");
    if (locHost.indexOf(cN.hostname) != -1 || cN.hostname.indexOf(locHost) != -1) return;
    if (ao_sl_marker_ignore_class && cN.className && cN.className.indexOf(ao_sl_marker_ignore_class) != -1) {
        return;
    }
    for (var x = 0; x < ao_aB.length; x++)
        if (cN.hostname.indexOf(ao_aB[x]) != -1) return;
    for (var x = 0; x < ao_uL.length; x++) {
        if (cN.hostname.indexOf(ao_uL[x]) != -1) {
            for (var y = cN.childNodes.length - 1; y >= 0; y--) cN.parentNode.insertBefore(cN.childNodes[y], cN.nextSibling);
            cN.parentNode.removeChild(cN);
            return;
        }
    }
    if (ao_isIE && (cN.childNodes.length == 0 || cN.childNodes[0].nodeType !== 1)) {
        var aCr = document.createElement("acronym");
        while (cN.firstChild) aCr.appendChild(cN.firstChild);
        while (cN.firstChild) cN.removeChild(cN.firstChild);
        cN.appendChild(aCr);
    }
    var randomID = rdm(10000, 99999);
    cN.setAttribute("ao_sl_mid", randomID);
    if (ao_sl_ignore_class && cN.className.indexOf(ao_sl_ignore_class) == -1) {
        ao_sl_marker_tld_list.push([cN.hostname.replace("www.", ""), randomID]);
    }
    if (!cN.getAttribute('onmousedown')) cN.setAttribute("onmousedown", function(e) {});
    if (!cN.getAttribute('onclick')) cN.setAttribute("onclick", function(e) {});
    cN.setAttribute("ao_sl_clk", cN.getAttribute('onclick').toString(), 0);
    cN.setAttribute("ao_sl_omd", cN.getAttribute('onmousedown').toString(), 0);
    cN.setAttribute("ao_sl_href", cN.href.toString(), 0);
    cN.onmousedown = function(e) {
        try {
            eval(this.getAttribute("ao_sl_omd", 0))[0]();
        } catch (err) {}
        if (cN.href.indexOf('js.mamydirect.com/redir') == -1) cN.href = ao_ff(this);
    };
    cN.onclick = function(e) {
        var ao_tar = e.target || e.srcElement;
        ao_tar.href = ao_tar.getAttribute('ao_sl_href', 0);
        try {
            eval(this.getAttribute("ao_sl_clk", 0))[0]();
        } catch (err) {}
        ao_tar.href = ao_ff(this);
    };
}

function ao_ff(aobj) {
    var ao_q = "";
    if (ao_query != "") ao_q = "&q=" + encodeURIComponent(ao_query);
    var ao_forcesplash = "";
    if (ao_splash != "") ao_forcesplash = "&splash=" + ao_splash;
    if (ao_abpc) ao_forcesplash = "&splash=0&abp=1";
    var tag = "";
    if (aobj.className == "aoSmartTagClass") {
        var ao_marketingid = 5;
        tag = aobj.name.split("_")[1];
    } else var ao_marketingid = 1;
    return "http://js.mamydirect.com/redir/clickGate.php?u=RGm1L5B5&m=" + ao_marketingid + "&p=8d1pun3ZhJ&t=CqwpgTi7&st=" + tag + "&s=" + ao_subid + ao_q + ao_forcesplash + "&url=" + encodeURIComponent(aobj.href) + "&r=" + encodeURIComponent(location.href);
}

function ao_fk(cN, t) {
    var res = Array();
    if (t == 1) {
        if (typeof(ao_st_sec) != "undefined" && ao_st_sec != null && ao_st_sec != "") {
            res = ao_st_sec;
        }
    }
    if (typeof(ao_sl_sec) != "undefined" && ao_sl_sec != null && ao_sl_sec != "") {
        res = res.concat(ao_sl_sec);
    }
    for (var u = 0; u < res.length; u++) {
        if (res[u].n != 1) continue;
        if (res[u].a == "class" && typeof(cN.className.toLowerCase) == 'function') {
            var x = cN.className.toLowerCase().split(" ");
            for (var y = 0; y < x.length; y++) {
                if (x[y] == res[u].v.toLowerCase()) return true;
            }
        } else if (typeof(cN.id.toLowerCase) == 'function') {
            if (cN.id.toLowerCase().substr(0, res[u].v.length) == res[u].v.toLowerCase()) return true;
        }
    }
    return false;
}

function ao_fq(sN) {
    if (sN != "undefined") {
        var chN = sN.childNodes;
        var i = 0;
        while ((i < chN.length) && (chN.length != 0)) {
            var cN = chN[i];
            if (cN.nodeType === 1 && cN.childNodes != null && cN.childNodes.length > 0 && ao_ex_el.indexOf(cN.nodeName.toLowerCase() + ',') === -1 && !ao_fk(cN, 1)) {
                if (ao_fq(cN)) return true;
            }
            if (cN.nodeType === 3 && cN.data != '') {
                var parent = cN.parentNode;
                var _x = cN.data;
                var urlPattern = new RegExp("(\\W)(https?:\/\/[^\t $]+)", "ig");
                if (urlPattern.test(cN.data)) {
                    _x = _x.replace(urlPattern, "$1<a rel=\"nofollow\" href=\"$2\" target=\"_blank\">$2</a>");
                }
                if (_x != cN.data) {
                    if (ao_isIE && _x.substr(0, 1) == ' ') {
                        cN.parentNode.insertBefore(document.createTextNode(" "), cN);
                        _x = _x.substr(1);
                    }
                    var _a = document.createElement("div");
                    _a.innerHTML = _x;
                    var _y = document.createDocumentFragment();
                    while (_a.firstChild) _y.appendChild(_a.firstChild);
                    parent.insertBefore(_y, cN);
                    parent.removeChild(cN);
                }
            }
            i++;
        }
    }
}

function ao_fp() {
    ao_gi = true;
    if (typeof(ao_st_sec) == "undefined" || ao_st_sec == null || ao_st_sec == "") {
        if (document.body) return ao_fq(document.body);
    } else {
        var noEntryPoint = true;
        var x = null;
        var res = false;
        for (var u = 0; u < ao_st_sec.length; u++) {
            if (ao_st_sec[u].n == 1) continue;
            x = document.getElementsByTagName(ao_st_sec[u].e);
            for (i = 0; i < x.length; i++) {
                if (ao_st_sec[u].a == "class" && typeof(x[i].className.toLowerCase) == 'function') {
                    if (x[i].className.toLowerCase().substr(0, ao_st_sec[u].v.length) == ao_st_sec[u].v.toLowerCase()) res = ao_fq(x[i]);
                } else if (typeof(x[i].id.toLowerCase) == 'function') {
                    if (x[i].id.toLowerCase().substr(0, ao_st_sec[u].v.length) == ao_st_sec[u].v.toLowerCase()) res = ao_fq(x[i]);
                }
                if (res) return true;
            }
        }
        if (noEntryPoint) {
            if (document.body) return ao_fq(document.body);
        }
    }
    return false;
}

function ao_fi() {
    for (var u = 0; u < ao_sl_sec.length; u++) {
        var x = document.getElementsByTagName(ao_sl_sec[u].e);
        for (i = 0; i < x.length; i++) {
            if (ao_sl_sec[u].a == "class" && typeof(x[i].className.toLowerCase) == 'function') {
                if (x[i].className.toLowerCase().substr(0, ao_sl_sec[u].v.length) == ao_sl_sec[u].v.toLowerCase()) {
                    if (ao_sl_sec[u].n == 0) x[i].style.border = "solid 2px green";
                    else x[i].style.border = "solid 2px red";
                }
            } else if (typeof(x[i].id.toLowerCase) == 'function') {
                if (x[i].id.toLowerCase().substr(0, ao_sl_sec[u].v.length) == ao_sl_sec[u].v.toLowerCase()) {
                    if (ao_sl_sec[u].n == 0) x[i].style.border = "solid 2px green";
                    else x[i].style.border = "solid 2px red";
                }
            }
        }
    }
}

function ao_fj(f) {
    return f.substr(0, 1).toUpperCase() + f.substr(1);
}
if (ao_isLB) {
    setTimeout("ao_fp()", 600);
}
if (ao_isSL) {
    var ao_reuri = 1;

    function ao_fs() {
        setTimeout(function() {
            if (ao_reuri == 10) return;
            ao_reuri++;
            ao_fc();
            ao_fs();
        }, 500)
    }
    ao_fs();
}

function rdm(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
var ao_gh = null;

function ao_ge(urls) {
    var saoajax = document.createElement("script");
    saoajax.type = "text/javascript";
    saoajax.src = "https://js.smartredirect.de/affiliatemarker/?urls=" + encodeURIComponent(urls);
    var saoajaxinc = document.getElementsByTagName('script')[0];
    saoajaxinc.parentNode.insertBefore(saoajax, saoajaxinc);
    ao_gh = window.setInterval("ao_gd()", 400);
}

function ao_gd() {
    if (AO_MARKER_CHECK_RESULT.length > 0) {
        window.clearInterval(ao_gh);
        for (var i = 0; i < AO_MARKER_CHECK_RESULT.length; i++) {
            if (AO_MARKER_CHECK_RESULT[i][1] == "1") {
                for (var j = 0; j < document.links.length; j++) {
                    if (document.links[j].getAttribute("ao_sl_mid") == AO_MARKER_CHECK_RESULT[i][0][1]) {
                        document.links[j].innerHTML += ao_sl_marker;
                        if (document.links[j].className.length > 0) document.links[j].className += " ao_is_aff";
                        else document.links[j].className = "ao_is_aff";
                    }
                }
            }
        }
        AO_MARKER_CHECK_RESULT = [];
        if (ao_sl_marker_info_id && document.getElementById(ao_sl_marker_info_id)) {
            if (ao_sl_marker_info_msg) {
                document.getElementById(ao_sl_marker_info_id).innerHTML = ao_sl_marker_info_msg;
            }
            document.getElementById(ao_sl_marker_info_id).style.display = "block";
        }
    }
}

Комментарии (144)


  1. velovich
    22.11.2017 20:16

    Мне кажется нет такой сущности, как уважение к пользователям. Не только касательно экосферы сегодняшнего интернета.


    1. ValdikSS Автор
      22.11.2017 20:21
      +1

      Есть, кое-где еще осталась, но не на «популярных» сайтах.


      1. velovich
        22.11.2017 20:39

        В каких-то ограниченных сообществах всякое возможно.


      1. AngelNet
        22.11.2017 20:47

        уважемый ValdikSS, скажите, а на хабре подобные скрипты имеются?
        спасибо за предупреждение (отправил запрос составителям подписок блокировщиков рекламы).


        1. ValdikSS Автор
          22.11.2017 20:48

          Я не вижу подобных скриптов на хабре.


        1. hikkivision
          22.11.2017 22:57

          Хм, в юблоке если тыкнуть на «Список запросов» или «Доменов подключено» то окошко расширяется и показывает все домены которые используются этой страницей после загрузки.


  1. sumanai
    22.11.2017 20:30
    +2

    Как минимум в RU AdList уже есть, так что добавлять нужно не всем.


  1. AndyPike
    22.11.2017 20:41

    Жёстко, и весьма.
    То есть ранее я смотрю на ссылку и по адресу вижу, что это wiki — могу почитать если ещё не читал. Но иногда и не хочу wiki, т.к. уже читал, другой контент может быть более интересен.

    Пруф-линк на публикацию только дайте, где такое. Искал, не глубоко, не нашёл.
    Может, тестят, как «все нормальные» на 5% аудитории, и наблюдают как за кроликами.
    А другие юзеры этого пока не видят.


    1. ValdikSS Автор
      22.11.2017 20:46

      Да, вроде, в любой, где есть внешние ссылки.
      geektimes.ru/post/289947
      В самом конце, «масштабные сбои в обслуживании банковских карт». Если подвести курсор к ссылке, то она выглядит нормальной. Откройте средства разработчика, наведите на нее, посмотрите теги: на ссылке навешан обработчик onmousedown со этим скриптом. Если вы перейдете на вкладку network и нажмете по ссылке, вы увидите, как вас редиректит.


      1. tyomitch
        22.11.2017 21:03

        Далеко ходить не надо: внизу любого топика, в т.ч. этого, есть блок «Интересные публикации», и вот там ссылки на хабратопики ведут на этот чёртов редирект.


        1. lovermann
          23.11.2017 09:30

          И точно!!! О_о


      1. mayorovp
        23.11.2017 10:06

        Можно не переходить, а просто нажать на ссылку правой кнопкой мыши. Она изменится после нажатия.


  1. JohnDoe_71Rus
    22.11.2017 20:45

    NoScript решает.


    1. AndyPike
      22.11.2017 21:03

      Зачем только отстреливать ногу в 2017.
      Пост на на GT с отключенным JS сможете написать только в браузере? Или даже комментарий.

      Если не в браузере, и я смогу, копанием с cURL, но стоит ли овчинка того?
      Всё равно они нас (людей) будут постоянно пытаться захватить (рекламщики),
      но мы выживем и дадим достойный ответ.

      Они не лучше нас, мы не хуже их.


      1. Tomok
        22.11.2017 21:55

        Не обязательно отрубать весь JS, достаточно не разрешать «mamydirect.com».


    1. Olanonymous
      23.11.2017 00:28

      С этой задачей куда лучше справляется uMatrix, у него очень гибкие правила фильтрации. И сайт не ломает — в 80% случаев дополнительной настройки не требуется, и по умолчанию блокирует почти всю лишнюю дрянь: рекламу, метрики и прочие анальные зонды. Может работать в связке с uBlock (у них один разработчик).


      1. kvaps
        23.11.2017 02:33

        Люто плюсую, uMatrix очень порадовал. Режет буквально всю дрянь на корню.
        При желании с ним даже без адблока жить вполне можно.


      1. slavius
        23.11.2017 09:33

        Спасибо за подсказку! А то NoScript последний — вроде и работает, и настраивается, но uMatrix лучше!


      1. mukizu
        23.11.2017 10:49

        Для тех кому лень во всей этой матрице разбираться — у ublock есть упрощенная версия, если ключить advanced mode в настройках


      1. Zetc
        23.11.2017 15:00

        Ещё пара годных дополнений против отслеживания: «Cookie AutoDelete» или «I don't care about cookies». Удаляют куки после закрытия вкладки с сайтом.


        1. Ezhyg
          23.11.2017 21:05

          «I don't care about cookies».

          Это не против отслеживания, а против всплывания на каждом европейском, а теперь и россияйских сайтах, уведомления вида «этот сайт использует куки, потому что так надо и по закону мы вас предупреждаем».


      1. Beholder
        24.11.2017 12:28

        Кстати, чтобы на Хабре и ГТ отображались формулы, придётся включить скрипты из cdnjs.cloudflare.com


  1. ExplosiveZ
    22.11.2017 21:48
    +1

    На гиктаймсе 73 компании. Самый дешёвый тариф для компании(на geektimes) — 10.000($250 для компаний не из РФ)рублей/год.(на хабре 17.700рублей/$375, 315 компаний)
    Представим, что платит только половина(и все из РФ) — это 365.000 рублей в год или ~30.000 рублей в месяц.
    Еще пользователей просят выключить блокировщик рекламы, а теперь и ссылки заменяют на реферальные.
    Спасибо, TMTM.


    1. ValdikSS Автор
      22.11.2017 21:57

      По мне, разумнее было бы отказаться от ППА, чем добавлять такое говно. TM виднее, наверное.


    1. JetMaster
      22.11.2017 22:21

      image


      1. justhabrauser
        22.11.2017 23:42

        «при 300 процентах нет такого преступления, на которое он не рискнул бы, хотя бы под страхом виселицы» © Карл Маркс


        1. ertaquo
          23.11.2017 18:24

          Томас Джозеф Даннинг вообще-то :)


          1. justhabrauser
            23.11.2017 18:41

            Да, точно (вроде бы; из ныне живущих никто свечку не держал).
            Недостатки советской школы философии в приложении к старшим классам средней школы — «lite version».


      1. imm
        23.11.2017 08:41
        +1

        нужно больше минералов!


    1. ozonar
      23.11.2017 08:28

      Это же очень мало, как минимум нужно оплачивать ~10 человек штата и серверы. Крупный сайт размера Хабра, приносящий 30к не рентабелен как факт.


    1. Juster
      23.11.2017 09:21

      я не оправдываю изменение по ссылкам, но 30 тыс. руб это ничто для компании.


      1. Georg
        23.11.2017 09:50

        Вот тут бух отчетность ООО «ХабраХабр» — примерно 79 миллионов выручка за 2016 год.
        Так что предыдущий расчет слишком наивен


    1. ExplosiveZ
      23.11.2017 10:20

      ozonar JusterValdikSS это минимальнейший расчет, гиктаймс эти деньги получает гарантированно.
      Мне лень считать компании по типам, но например для второго тарифа цена будет уже 70.800рублей/3 месяца.(47.200рублей/3 месяца — гиктаймс).
      Любая компания, способная писать в блог — это уже минимум 70.800рублей для хабра и 47.200рублей для гиктаймса.

      Вся статистика и цены открыты:
      Цены: tmtm.ru/services/corpblog
      Компании: geektimes.ru/companies
      Компании: habrahabr.ru/companies

      Краткое описание, как различить 3 типа:
      1. Тариф «Карточка» — самый скудный тариф, писать нельзя.
      2. Тариф «Бизнес» — средний тариф, можно писать и есть некие виджеты
      3. Тариф «Гигант» — самый дорогой, страница компании может быть брендированна

      Это вкратце, как можно быстро различить типы компаний.


      1. Oleg_Dolbik
        23.11.2017 12:43

        Коллеги… Считать свои деньги — правильно. Считать деньги в чужом кармане — не так правильно. Я, лично, данному ресурсу не плачу и пользуюсь бесплатно. Если меня устраивает сервис — пользуюсь. Нет — так нет. Не нравится действие администраторов — голосуем ногами или режем лишнее, все же просто.


        1. ExplosiveZ
          23.11.2017 12:59
          +1

          Вы прям как депутат говорите.
          1. Когда ввели рекламу, все молчали, было нормально
          2. Когда многие компании начали флудить постами, все молчали, ибо все понимают, никто за идею работать не будет
          3. Когда ввели ссылки с перенаправлением непонятно куда, все немного удивились

          Мне такое отношение надоело, как ко мне относятся, так я и отвечаю.
          Все эти данные открыты и любой может посчитать, просто мало кто хочет это делать.


        1. mistergrim
          23.11.2017 13:25

          Считать деньги в чужом кармане — не так правильно.

          Только не в том случае, когда эти деньги зарабатываются на вас.


        1. Ded_Banzai
          23.11.2017 13:45

          "Голосовать ногами" — это крайне порочная практика и не только в IT.


          1. Oleg_Dolbik
            23.11.2017 13:55

            Порочная практика — ждать, что на нас обрушатся плюшки и счастье «даром всем и бесплатно». Да, в любом крупном IT ресурсе крутятся приличные деньги. Да, владельцы этих ресурсов, как правило не ютятся с семьей в общагах и ездят не только на велосипедах. Но какое это имеет отношение ко мне или к вам? Есть дофига, чего мне тут не нравится, но пока с меня не просят за это деньги — это мои проблемы.


          1. ValdikSS Автор
            23.11.2017 13:56

            Возражаю. В IT это вполне адекватное решение, которое побуждает людей делать что-то новое, лишенное недостатков ранних систем.

            Я писал статьи на хабрахабре и гиктаймзе преимущественно потому, что мне всегда было лень разворачивать свой блог, поддерживать его, отслеживать уязвимости движков, настраивать резервное копирование.

            Посмотрите на Zeronet и его блоги — создать свой блог можно буквально (без преувеличения!) одним кликом, склонировав любой существующий. Редактировать его крайне легко, никаких логинов и паролей не нужно. Резервные копии данных тоже не особо нужны — их хранят все читатели вашего блога, можно перекачать с них, в случае чего. Подключение к интернету не нужно, основная часть блога выкачивается при первом заходе, и можно читать его оффлайн.
            Bal, вон, ведет свой блог, и в ус не дует: proxy.zeronet.a0z.ru/1MaQ4W5D6G52TpBfPACU9k9QcB1DxvHZ5v


            1. zorn_v
              23.11.2017 16:42

              Один ньюанс — для этого должна быть крепкая «гражданская позиция», а не «меня пока не касается».
              И это на самом деле проблема — «гражданская позиция» быстро сливается перед первыми же «трудностями». Примеров хватает. TrueCrypt например.


        1. Goron_Dekar
          23.11.2017 15:07

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


          1. zorn_v
            23.11.2017 18:10

            Потому что зависть один из семи грехов например?


            1. Goron_Dekar
              23.11.2017 19:02

              Я всё-таки хотел бы немного более современных аргументов.

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


              1. zorn_v
                23.11.2017 19:27

                Ну если конкретнее — то «зависть» обычно застилает глаза у тех кто считает иногда. По тону «анализа» видно. Иногда тупо неадекватные выводы. Иногда неадекватные расчеты и т.п.
                Короче из разряда «а вот если бы у меня столько было».
                Насколько помню тут где то «иксперд» насчитал 30к в месяц и считал что это много…

                Переформулирую ваш вопрос — это хорошо?


                1. Goron_Dekar
                  23.11.2017 19:49

                  Не надо винить зависть там, где виновато невежество.
                  Может тогда плоха не зависть, а неадекватные выводы? Получается, что проблема в том, что человек делает неправильные рассчёты.

                  Хорошо ли считать чужие деньги? Плохо.

                  Хорошо ли считать деньги, которые получили на продаже тебе товара? Скорее хорошо.

                  Хорошо ли считать деньги, полученные с продажи фотографии вашей жены статистики ваших посещений сайтов, собранной под предлогом нехватки денег? Отлично!


            1. mistergrim
              24.11.2017 03:12

              Это из какой-то беллетристики, кажется, только никак не могу вспомнить, из какой.


      1. Samoglas
        24.11.2017 06:11

        Цены: tmtm.ru/services/corpblog

        Узнал, за кого нас держат.
        У них там гениальный девиз, который объясняет происходящие в последние годы перемены на неХабре.

        В высококонцентрированную гущу и utm-метками можно потыкать невозбранно, кто-то не поймет, но ничё, ложкой гущи больше, ложкой меньше.


    1. zagayevskiy
      23.11.2017 11:20

      Не понял, что вы хотели сказать вычислениями того, сколько получает ТМ от компаний.


  1. MigelCooper
    22.11.2017 21:56

    хистори говорит что mamydirect.com вот это www.adgoal.de/en


    1. dartraiden
      23.11.2017 04:11

      Да, это оно и есть. Например, содержимое http://js.mamydirect.com/api_v2/ и http://js.mamydirect.com/optout/ явно говорит, что это adgoal.de


  1. MedVedar
    22.11.2017 22:14
    +1

    И не заметил бы, если бы не пост. uBlock вырезал эту гадость.


  1. FlamyXD
    22.11.2017 22:57

    В ВК и в Твиттере подобная технология используется.
    Что в этом такого?


    1. ValdikSS Автор
      22.11.2017 22:59

      Во Вконтакте и в Твиттере используются собственные редиректоры, не загружающиеся через javascript, а здесь — какая-то сторонняя рекламная хрень.


      1. FlamyXD
        22.11.2017 23:01

        Понятно. Спасибо за ответ.


      1. DjOnline
        22.11.2017 23:49

        Какая разница?


        1. ValdikSS Автор
          22.11.2017 23:52

          И то, и то — зло, но если во Вконтакте эта штука хотя бы выполняет отслеживание «вирусных» ссылок, то здесь это чистая реклама.


          1. DjOnline
            23.11.2017 00:23
            +1

            Конкретно пользователям — какая разница?
            Прям как в мультике, «и меня подсчитали».


          1. dabar347
            23.11.2017 00:26
            +1

            Реклама чего?


            1. ValdikSS Автор
              23.11.2017 01:23

              Скрипт перенаправления принадлежит рекламной сети. Он устанавливает cookie, чтобы отслеживать ссылки, которые вы открываете, и потом использовать эту информацию для показа вам персонализированной рекламы и продажи этой информацией третьей стороне.


              1. dabar347
                23.11.2017 01:25

                Не имеет значения если я рекламу не вижу ведь.


                1. ValdikSS Автор
                  23.11.2017 01:32
                  +1

                  Вас все равно отслеживают. Это может выходить дальше рекламы. Например, сайты по продаже авиабилетов отслеживают вашу историю поиска, и предлагают вам билеты дороже, если понимают, что вам они нужны, и вы можете заплатить больше.

                  Рекомендую почитать крайне детальное и всестороннее исследование, которое, почему-то, не особо освещалось: crackedlabs.org/en/networksofcontrol


                  1. dabar347
                    23.11.2017 04:30
                    -1

                    не особо освещалось

                    Это все и так известно — решается тремя простыми пунктами: 1) адблок, 2) покупкой напрямую (по поводу тех же билетов, агрегаторы и без этих скриптов чаще развод), 3) инкогнито режим по необходимости. В общем не о чем, есть слежка и посерьезнее


                    1. extempl
                      23.11.2017 09:48

                      Инкогнито не спасает, поскольку отслеживают по фингерпринту и, особо продвинутые, по поведению в интернете.


                      1. sumanai
                        23.11.2017 17:16

                        Интересно, а есть примеры отслеживания по фингерпринту? Много читал, но ещё ни разу не встречал на обычных сайтах.


                        1. extempl
                          23.11.2017 17:36

                          Примеров где используется не подскажу, но вот пример постройки фингерпринта: https://github.com/Valve/fingerprintjs2.
                          По кол-ву звёздочек можно примерно понять масштабы.


                        1. ValdikSS Автор
                          23.11.2017 18:11

                          Один из методов фингерпринта — слепок canvas — используется при регистрации почтового ящика на mail.ru


              1. zzzcpan
                23.11.2017 01:54

                Это скрипт адмитада, он находит упоминания брендов, делает их ссылками и превращает ссылки в партнерские во время клика.


              1. lightman
                23.11.2017 11:49

                Он устанавливает cookie, чтобы отслеживать ссылки, которые вы открываете
                Немного не улавливаю, как какой-то там куки (обычный текстовый файлик AFAIK), установленный каким-то левым сайтом, может отслеживать ссылки которые я открываю на совсем других сайтах(?)


                1. AndreyNikolin
                  23.11.2017 12:30
                  +1

                  Этот скрипт может быть установлен на множестве сайтов и за счёт куки он будет вас идентифицировать как «одно лицо», соответственно собирая информацию которую потом можно сопоставить. Грубо «человек с таким куки ходил по таким сайтам». А для рекламодателей это достаточно ценная информация.


                1. Blackzeppelin
                  23.11.2017 12:40

                  Никак. Этот скрипт только пробрасывает utm метки в ссылки екоммерсов, чтобы считать, от какого партнёра пришёл юзер. Он записывает просто одно значение хеша для определения сессии.
                  Рекламодатели, в свою очередь, сами вешают вам куки, по которым потом крутят ремаркетинг (догоняют вас теми товарами, которые вы смотрели, или похожими).


              1. Admitad
                23.11.2017 16:52
                +2

                Добрый день,
                От лица компании Admitad хотели бы прокомментировать данную ситуацию.
                Данный скрипт создан для монетизации сайтов и любая качественная контентная площадка должна иметь ресурсы для ее содержания. Geektimes одна из немногих площадок, которая действительно следит за качеством и количеством рекламного контента. Скрипт устанавливает cookies исключительно для того, чтобы отслеживать факт совершения покупки после перехода по ссылке, а не для того, чтобы продавать эту информацию 3м лицам. Наша модель работы – это CPA, являясь крупнейшей сетью ру-нета и имея на счету доверие от тысячи партнеров, мы не можем себе позволить заниматься такими вещами и не позволяем.


                1. datacompboy
                  23.11.2017 17:59
                  -1

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


  1. Fllash
    23.11.2017 01:16

    AdBlockGuard похитил этот баннер (с)


  1. blackswanny
    23.11.2017 04:14

    Я установил Firefox на телефон. Новая версия намного шустрее, в отличие от хрома позволяет установить расширение adblock и в ней самой есть встроенная защита


    1. inferrna
      23.11.2017 12:15

      Новая версия намного шустрее

      увы, но quantum в моб версию ещё не завезли, так что не с чего ей быть шустрее.


      1. TheRaven
        23.11.2017 12:23

        Не согласен. FF 57 на андроиде просто летает по сравнению с предыдущей, я крайне доволен обновлением.


        1. hdfan2
          23.11.2017 13:49

          Да, 57 хорош. Вот ещё бы знать, как отключить анимацию полоски загрузки страницы. По сравнению с 56 стало ужасно назойливо. Облазил уже пол-интернета, но так ничего и не нашёл.


          1. paroksha
            23.11.2017 14:56

            Вы об этом?
            Как отключить богомерзкий градиент, который пробегает по вкладке после полной загрузки страницы?
            В адресной строки вбить about:config, найти и переключить в false свойство toolkit.cosmeticAnimations.enabled
            Взято отсюда forum.mozilla-russia.org/viewtopic.php?id=72738&p=1


            1. hdfan2
              23.11.2017 16:38

              Нет, не то. Такого я, к счастью, не видел. Я имею в виду тонкую синюю линию, которая показывает прогресс загрузки страницы. Вот на этом видео более-менее видно (только нужно в HD переключить). Там как раз ссылка на момент, когда её получше видно. На видео это ещё не так заметно, но в реале ужасно убого и постоянно бросается в глаза.


      1. blackswanny
        23.11.2017 21:53

        так ведь 57 версия анонсирована как quantum, и иконку поменяли


  1. Ezhyg
    23.11.2017 04:56

    Хорошо что RequestPolicy не разрешил запросы к этой неведомой ёкарной хрени, а ВалдикСС вытащил её — «за шкирку, да на солнышко!» :)


    1. qw1
      23.11.2017 12:20

      Я вот благодаря комментам к этой публикации открыл для себя uMatrix. Он гибче настраивается, чем RequestPolicy: отдельно можно указать, относится правило к css, js, img и т.д. В RPC нужно было весь домен открывать.

      Как бонус — совместим с новым FF. Пока не актуально, но когда-нибудь придётся переходить.


      1. sumanai
        23.11.2017 17:18

        Я вот пробовал много чего, и uMatrix мне показался дико запутанным и не юзабельным. Блокировка по домену намного проще, что для браузера, что для мозга.


      1. Ezhyg
        23.11.2017 20:47

        Я, как и sumanai, тоже запутался в этой юМатрице :(. Хотя он установлен, просто выключен и примерно раз в месяц я заново пытаюсь его принять… раза три уже пробовал, пока безуспешно.

        Может я что-то делаю не так или мыслю не в том направлении? Ведь вроде всё понятно, где и что, но как-то… не знаю. В общем, паззл не складывается.


        1. hikkivision
          23.11.2017 21:30

          Воспользуйтесь расширенным режимом в юблоке. Две колонки, левая режет, сбрасывает, разрешает этот домен везде, правая только на том сайте на котором было сделан выбор.
          image


          1. Ezhyg
            23.11.2017 21:35

            Про расширенный режим я узнал раньше, чем узнал, что бывает ещё и «зауженный». Но это не то, потому что речь про интерфейс юМатрикса.


          1. qw1
            23.11.2017 22:33

            На uBlock пытался несколько раз перейти, но там не хватает счётчика хитов сработавших правил, как в AdBlock Plus. Я правила составляю вручную и периодически вычищаю всё, что не актуально.

            На github есть issue по этому вопросу, но оно закрыто с комментарием «Мы не делаем клон ABP».


            1. ValdikSS Автор
              23.11.2017 22:35

              Используйте µBlock Origin, там есть.


              1. qw1
                23.11.2017 23:03

                Поставил и не нашёл.
                Можно скрин, где счётчик есть на каждое правило индивидуально? (меня интересуют css-правила, т.к. ограничение по домену обрабатывает uMatrix, а ранее — RequstPolicy).

                А вот как в AdBlock Plus
                выглядит правило с 0 хитами, которое давно уже не срабатывает:


                1. ValdikSS Автор
                  23.11.2017 23:05

                  А, вам глобальный счетчик нужен? Такого действительно нет.


                  1. qw1
                    23.11.2017 23:10

                    Пусть даже локальный, чтобы обновить страницу и увидеть, какие css-правила сработали.


                    1. ValdikSS Автор
                      23.11.2017 23:11

                      Клик на иконке > open the logger > кнопка обновления.


                      1. qw1
                        23.11.2017 23:17

                        Такой вариант я нашёл, но это требует лишнее время для поддержания порядка в правилах. Посижу пока на ABP. Кстати, в ABP, обновлённой под WebExtensions, счётчики тоже убрали. Как и удобный нативный редактор правил, оставили тупо edit box на web-странице настроек.


          1. mistergrim
            24.11.2017 03:13

            И как им пользоваться? Ни хелпа, ничего. Вот что все эти цвета значат?


            1. ploop
              24.11.2017 08:43

              Присоединяюсь к вопросу. Можно, конечно, расковырять всё методом тыка, но как-то хотелось бы людского описания.


            1. Lertmind
              25.11.2017 02:42

              Официальная информация про Dynamic filtering.


        1. qw1
          23.11.2017 22:21
          +1

          Когда я поставил uMatrix, тоже казалось, что чушь непонятная.
          Но я сделал небольшое усилие и заставил себя минут 20 поковыряться в интерфейсе.

          Сначала казалось, что клик в ячейку переключает одно из 4 состояний ячейки, но почему-то 4 клика подряд не прокручивают через все варианты. Потом я заметил, что клик в верхнюю часть переключает Allow, а в нижнюю — Deny. Этот же принцип работает на заголовках столбцов и сток. Потом заметил, что можно кликать в часть домена (www)(youtube)(com), чтобы перейти к правилам по выделенной части домена, или по звёздочке, для переключения на глобальные правила. А также то, что есть временные правила и постоянные (как и в RPC, собственно). Но тут меняешь всегда временные, кнопка «Сохранить» перемещает временные в постоянные, а кнопка с ластиком удаляет накопленные временные.

          Как-то так пазл и сложился.


          1. Ezhyg
            24.11.2017 06:23

            Спасибо, новую палочку возьму, ещё потыкаю.


  1. devpreview
    23.11.2017 09:04

    Повелся на слезную просьбу отключить AdBlock для хабра. Включаю обратно.


    1. SopaXT
      23.11.2017 09:14

      Я в uBlock заблочил и этот баннер, теперь совесть меня не мучит. :D


    1. dom1n1k
      23.11.2017 12:57

      Да уж, «удачно» ребята сработали, практически в один день


  1. DrZlodberg
    23.11.2017 09:57

    Вообще за редиректы нужно… канделябром.
    Очень в этом плане доставляет яндекс, где в почте (через веб-морду) он все ссылки в письме заменяет на редирект через себя. Уже было несколько раз, когда у него там (или в пути, хз) что-то отваливалось и было невозможно перейти по ссылке, т.к. всё висло на этом редиректе. Ну и при плохой сети (а она бывает реально плохой) приходится лишний раз ощутимо ждать, пока он сработает.


    1. tmin10
      23.11.2017 10:25

      В gmail тоже такое. Плюс ещё в телефоне от открывает ссылки и своим браузером, а не фаерфоксом, который у меня единственный браузер.


      1. DrZlodberg
        23.11.2017 10:37

        Да много где такое. На куче сайтов попадались либо молчаливые редиректы, либо (ещё больше бесит) с сообщением «а вы точно хотите от нас свалить?»


      1. rogoz
        23.11.2017 14:28

        Плюс ещё в телефоне от открывает ссылки и своим браузером

        Не совсем, в меню подпись есть «на движке Firefox».


    1. Fragster
      23.11.2017 11:30

      Редирект из вебморды почты и прочих «персональных» страниц нужен для скрытия referrer для тех, у кого не включена блокировка при переходе на другие домены.


      1. DrZlodberg
        23.11.2017 11:56

        Хмм… Об этом не подумал. Правда у меня отключена передача его вообще (из-за чего для «некоторых» сайтов приходится второй браузер держать)
        Однако для чего редирект шифруется? Например при логине (на яндексе) тоже идёт редирект, однако он в читаемом виде. И при необходимости я могу его извлечь из запроса и перейти по ссылке даже когда сам яндекс не работает. Более того, в случае редиректа я не могу СКОПИРОВАТЬ ссылку. Мне для этого обязательно нужно по ней перейти. Очень, знаете ли удобно скопировать линк и кинуть кому-нибудь в чат. И вовремя заметить, что кидаешь. А уж сохранить на винт письмо со списком ссылок… [censored]!

        PS: хрен там. Проверил яндекс — он выдаёт прямой referrer на письмо при редиректе, при том, что редирект идёт уже НЕ из моего письма. Так что с точностью до наоборот.


        1. DracoL1ch
          23.11.2017 13:04

          Помимо прочего, собственное кэширование в яндексе используется для того, чтобы было невозможно узнать статус прочтения письма получателем по, например, запросу к уникальному адресу через встроенную в текст картинку с собственного хостинга. Тогда бы стало намного легче спам-базы поддерживать — пришел запрос на картинку, значит, пользователь жив и даже просматривает посылки.


          1. DrZlodberg
            23.11.2017 13:25

            Не уверен.
            1. Сервис называется resize хотя по факту ничего не ресайзил и вообще ни байта не поменял (сейчас проверил). Возможно используется для ресайза слишком больших картинок, чтобы интерфейс не ломали.
            2. Однако в этом случае мы имеем другую проблему. Вместо актуальной картинки я могу получить ту, которая была по этому адресу когда-то.
            3. Если же он следит за актуальностью картинок — то вообще смысла нет, т.к. при показе письма ему всё равно придётся проверять наличие обновлений, что выдаёт с головой.

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

            По хорошему было бы интересно проверить со стороны хоста картинки, но сервера под рукой нет.

            Да, кстати работать этот ресайз может только для вебморды, т.к. в почтовых программах он просто всё сломает.


      1. qw1
        24.11.2017 14:25

        Редирект из вебморды почты и прочих «персональных» страниц нужен для скрытия referrer
        Давно уже не актуально для современных сервисов. В адресной строке веб-морды вы скорее будете видеть просто gmail.com, а не персональные данные: gmail.com?action=viewmail&user=vasya.pupkin

        Если хотели бы вытащить персональные данные, то поставили бы уникальную метку в ссылке внутри письма.


        1. KorDen32
          24.11.2017 19:54

          У яндекса логин все еще светится ?uid=<uid>&login=<ЛОГИН>#inbox/thread/t<ID письма>


    1. Ezhyg
      23.11.2017 21:24

      Google search link fix, Neat URL, NoRedirect, PureURL, URL Fixer, URL Fixer Plus RU and UA — для FF
      PureURL — для Хромиум
      это помимо подмены реферера и других подобных расширений


      1. hikkivision
        23.11.2017 21:33

        PureURL уже полгода как не вырезает. (у фф)


        1. Ezhyg
          23.11.2017 21:41

          Ну, это просто список проверенного, чичас включен только Neat URL.


      1. DrZlodberg
        24.11.2017 08:52

        А чем это всё поможет? Они вырезают/исправляют куски УРЛ. На сколько я понял по описанию. От редиректа (тем более шифрованного) это не спасёт. Тут как минимум надо извлечь из конкретного УРЛ параметр с редиректом, и подставить его вместо УРЛ. Иногда ещё распаковать.


        1. qw1
          24.11.2017 12:28

          Пользуюсь аддоном Redirector. Он умеет перед выполнением любого запроса вырезать по regexp куски из исходного URL и складывать их в новый URL, и выполнять запрос уже с новым URL. По regexp легко вырезать настоящую ссылку:

          _http://js.mamydirect.com/redir/clickGate.php?u=RGm1L5B5&m=1&p=8d1pun3ZhJ&t=CqwpgTi7&st=&s=&splash=0&abp=1&url=https%3A%2F%2Fmeduza.io%2Fnews%2F2017%2F06%2F09%2Fdyru-v-reestre-roskomnadzora-ispolzovali-protiv-platezhnyh-serverov-rossiyskih-bankov&r=https%3A%2F%2Fgeektimes.ru%2Fpost%2F289947%2F

          В принципе, Redirector справился бы с этим сервисом, если бы ссылки корёжились на сервере. Но тут js-скрипт, который проще выключить локально.

          utm-метки и ref-ссылки, очевидно, тоже вырезать не проблема (если хочется заморачиваться со всеми видами рефов всех сервисов)

          От редиректа (тем более шифрованного)
          Тут не шифрование, а URL-encoding (http://ya.ru/ > http%3A%2F%2Fya.ru%2F). Redirector умеет при подстановке в новый URL выполнять декодирование URL-encoding и декодирование base64. Обычно ничего другого в подобных скриптах не используют.


          1. DrZlodberg
            24.11.2017 13:48

            Вот за это спасибо!
            У яндекса точно не URL-encoding (его и так видно)
            У него оно выглядит как-то так:

            l=aHR0cHM6Ly9nZWVrdGltZXMucnUvcG9zdC8yOTU2OTcvP3JlcGx5X3RvPTEwNDYxOTY5I2NvbW1lbnRfMTA0NjE5Njk
            Возможно base64, да (похож, но проверить нечем). Но обычные резалки в любом случае не помогут.


            1. qw1
              24.11.2017 14:09

              проверить нечем
              www.base64decode.org
              Скрытый текст


              1. DrZlodberg
                24.11.2017 14:26

                Спасибо :)
                А есть где-нибудь внятное описание работы для редиректора?
                Регекспы он мои не понимает, что за маска — вообще не понятно. На сайте его описаний тоже нет, результат он никак не показывает, т.е. даже если принимает — хз что он в итоге выдаст :(


                1. qw1
                  24.11.2017 14:36

                  Обычный regex, вырезающий xxx из параметра u=xxx до конца строки или следующего амперсанда. Кроме того, в redirector есть example url — можно сразу увидеть, как сработал regex

                  Скрытый текст


                  1. sumanai
                    24.11.2017 16:18

                    Ещё бы понять, что понаделали в поиске.


              1. DrZlodberg
                24.11.2017 14:34

                Поправка, разобрался.
                Т.е. он линки редиректит только при переходе, это немного печально, т.к. скопировать ссылку всё равно невозможно. Но так тоже лучше, чем было.


                1. qw1
                  24.11.2017 14:38

                  С линками внутри письма можно легко справиться через user-script (greasemonkey). Но придётся 5-10 строк написать на js.


                  1. DrZlodberg
                    24.11.2017 14:44

                    Как я понимаю, проблему редиректов им тоже можно было бы решить подменой правильных линков в странице.
                    Учту, спасибо. Однако пока остановлюсь на редиректе, у меня скрипты по дефолту везде выключены.


        1. Ezhyg
          24.11.2017 13:17

          Мне весь свой комментарий процитировать или вам непонятны только отдельные буквы слова? :-\


          1. DrZlodberg
            24.11.2017 13:55

            Мне не понятен смысл. Открываем дополнения, смотрим, например Neat URL

            Remove garbage from URLs.Neat URL cleans URLs, removing parameters such as Google Analytics' utm parameters

            URL Fixer
            URL Fixer fixes common typos in URLs entered in the address bar. It will fix errors like «google.con» or «youtube,com». You have the option of being asked to confirm corrections before they are applied.

            И как это поможет? У остальных функционал, на сколько я смог разобраться, примерно тот-же.

            А если весь его смысл был — искать в гугл, то можно было и проще выразиться…


            1. Ezhyg
              24.11.2017 21:10

              Вообще за редиректы нужно… канделябром.

              Перечисенным я боролся и борюсь с редиректами.
              это помимо подмены реферера и других подобных расширений

              к другим подобным относятся:
              CookieKeeper, friGate, HTTPS Everywhere, NoScript, RequestPolicy Continued, RightToClick, Secure Login, Unshorten.It!, VTzilla (RefControl, User Agent Overrider) + блокировщик рекламы.
              Вот, всё это, помогает забыть (почти) о «грязных» редиректах.

              (да, с URL-Fixer и его модификацией — опять я их вмешиваю, они просто проверка правильности вводимых адресов)


              1. DrZlodberg
                26.11.2017 15:11

                >HTTPS Everywhere, NoScript
                Эти стоят, но какое они отношения к редиректам имеют?
                Остальные гляну, спасибо.


                1. Ezhyg
                  26.11.2017 17:00

                  Первый — никакого, просто «рекламирую» полезняшку :D.

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


  1. granade18
    23.11.2017 11:57

    Хабр уже не тот...


    1. ploop
      23.11.2017 12:15
      +2

      Ага. Даже в названии 9 опечаток…


  1. geektimes
    23.11.2017 14:51
    +2

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

    Что касается «подозрительного скрипта», о котором идёт речь в статье. В качестве эксперимента мы решили попробовать новый для нас формат партнёрства с одним давно существующим CPA-сервисом Admitad, суть которого в следующем: когда пользователь кликает по любой внешней ссылке, скрипт проверяет, является ли сайт (на который осуществляется переход) партнёром Admitad. Если да, то навешиваются utm-метки в конечную ссылку, если нет, то ничего не навешивается и пользователь попадает на внешний сайт с абсолютно чистой и прямой конечной ссылкой. То есть скрипт запускается в любом случае, но ссылку он не подменяет и пользователь попадает ровно туда, куда собирался попасть при клике. Ноу криминалити.

    Наша ошибка при тестовом запуске была в том, что мы забыли добавить свои домены в исключения и не сразу ограничили области страниц, в которых скрипт имеет право действовать. Сейчас мы это пофиксили и лишних редиректов быть не должно.


    1. ValdikSS Автор
      23.11.2017 15:18
      -2

      Уважаемые модераторы, я не рыба и не свиборг, мои глаза смотрят прямо и не требуют обрамлять каждое предложение двумя переносами строк. Мне не нужна ваша помощь в исправлении форматирования, пожалуйста, не трогайте его. Спасибо.


      1. ValdikSS Автор
        23.11.2017 15:29
        -1

        Мне опять заблокировали возможность редактировать свою статью. Я, пожалуй, пойду.


      1. impetus
        23.11.2017 16:51

        у меня пусть статей и всего-то раз-два — но всегда при публикации приходилось чуть ли не каждые 15 минут копипастить всю заново целиком из своего бэкапа — редакторы-модераторы корёжили наперегонки. (А если вам это запретили — это уже, в общем, свинство.)


    1. Evengard
      23.11.2017 15:20
      -2

      Я один считаю utm-метки злом?


      1. chesterset
        24.11.2017 00:31

        Смотря что они делают. К примеру, у Леновы (далеко не всего ряда продуктов) предустановлен антивирус с триал-периодом. Если перейти на страницу подписки по ссылке с кучей utm меток, цена — 20$, если просто зайти на сайт — 50$. Имхо, всё зависит оттого, как используются метки


    1. TuMoXEP
      23.11.2017 16:29
      +1

      баннеры на проектах ТМ не такие навязчивые, как на других сайтах, а также в целом более релевантны тематике ресурсов

      Ну так может адблоку написать, если так и есть?
      adblockplus.org/en/acceptable-ads#application


      1. geektimes
        23.11.2017 16:54

        Спасибо, изучим!


    1. DistortNeo
      23.11.2017 17:24

      Отключил баннерорезалку — посмотрел на загрузку CPU — включил обратно, т.к. для ноутбука это неприемлемо. Хороший рекламный блок не должен привлекать к себе внимания анимацией.


      1. Blackzeppelin
        23.11.2017 17:46
        +1

        А вы не могли бы сделать скрины тех баннеров, которые жрут CPU?
        Мы очень стараемся быстро фильтровать то, что приходит из сетки гугла с анимацией, но к сожалению это можно сделать только через ручной перебор всех баннеров, а в открытом аукционе их столько, что все отсмотреть вручную — никогда не успеешь.


        1. DistortNeo
          23.11.2017 20:17

          Это любые баннеры, которые отрисовываются в canvas.


          Вот плохие примеры: плохо, плохо, снова плохо.
          А вот хорошие примеры: хорошо.
          Прощу прощения за хайрезы, ноутбук далеко, делал с десктопа.


          1. Blackzeppelin
            23.11.2017 20:45

            Спасибо! Мы работаем над способом фильтрации рекламы по используемым технологиям.

            P.S. А недвижимость вы, кстати, видите почти всю ту же, что и я)


    1. Taciturn
      23.11.2017 19:30

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