Блокировка Яндекс Советника


#1

Добрый день, подскажите плз, имеется ли у вас опыт в блокировке Яндекс Советника?


#2

Скриптом можно попробовать, будет блокироваться во всех браузерах, кроме Яндекса (в нем вообще без вариантов)

<script>
(function(open) {  
    XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { 
      
        this.addEventListener("readystatechange", function() {  
        
      var parser = document.createElement('a')
      parser.href = url;
      if( parser.hostname == 'sovetnik.market.yandex.ru' ) {
        this.abort();
        console.log('ban_sovetnik')
        }
            
        }, false);  
        open.call(this, method, url, async, user, pass);
    };  
})(XMLHttpRequest.prototype.open);
</script>

Если все удачно, в консоле будет выводиться лог “ban_sovetnik”


#3

Спасибо, попробую


#4

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


#5

А куда этот скрипт скопировать? Я так понимаю, он на всех страницах должен присутствовать.


#6

Включите модуль “Мои изменения”.

Затем в папке сайта идите в js/addons/my_changes и создайте там файл, например block_sovetnik.js.

В него вставьте скрипт:

(function(open) {  
    XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { 
      
        this.addEventListener("readystatechange", function() {  
        
      var parser = document.createElement('a')
      parser.href = url;
      if( parser.hostname == 'sovetnik.market.yandex.ru' ) {
        this.abort();
        console.log('ban_sovetnik')
        }
            
        }, false);  
        open.call(this, method, url, async, user, pass);
    };  
})(XMLHttpRequest.prototype.open);

Далее, в папке сайта /design/themes/ВАША_Тема/templates/addons/my_changes/hooks/index/ создайте файл scripts.post.tpl (если какие-то папки в указанном пути отсутствуют – создайте их тоже).

В файле scripts.post.tpl пропишите:

{script src=“js/addons/my_changes/block_sovetnik.js”}

После этого почистите кэш и скрипт будет работать.

Либо, если нужен вариант проще, то можно засунуть скрипт в html-блок с поддержкой smarty, например в верхнюю панель макета “По-умолчанию”. В этом случает скрипт в него прописывайте так:

{literal}
<script>
(function(open) {  
    XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { 
      
        this.addEventListener("readystatechange", function() {  
        
      var parser = document.createElement('a')
      parser.href = url;
      if( parser.hostname == 'sovetnik.market.yandex.ru' ) {
        this.abort();
        console.log('ban_sovetnik')
        }
            
        }, false);  
        open.call(this, method, url, async, user, pass);
    };  
})(XMLHttpRequest.prototype.open);
</script>
{/literal}

В Яндекс Браузере скрипт не работает.
В остальных браузерах успешно блокирует у меня даже с установленным расширением Советника. Тестил на трех сайтах, где я использовал скрипт.


#8

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


#9

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


#10

А люди еще некислое бабло рубят с продажи скрипта блокировки, от 1500 руб с сайта. Т.е. спокойно 1,5 ляма в месяц на одном скрипте.


#11

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


#12

у вас тоже пуши выходят при попытке блокировать?