- Регистрация
- 06.11.2018
- Сообщения
- 11 790
- Благодарностей
- 5 720
- Баллы
- 113
Давно меня беспокоила проблема непонятных скриптов на различных сайтах. Когда профили нагуливаются, боты запросто могут забрести то на срытый майнер, то на эксплойт. Может попасться и безобидный скрипт, но настолько требовательный к вычислительным мощностям, что просто крашит зеннопостер. Вот так и случилось у меня вчера вечером. Ни с того ни с сего, все шаблоны зависли, кубик сохранения профиля сохранялся по 5-8 минут, кнопки перестали нажиматься, даже кубик капмонстра стал постоянно сбоить. Даже в багтрекер написал. Но начал смотреть более внимательно и обнаружил, что все боты застряли на вот этом сайте. При загрузке всего содержимого сайта, начинаются глюки даже в проджектмейкере. Отключив загрузку скриптов, обнаружил что все хорошо, ничего не тормозит, эмуляция мышки стала опять работать. НО скрипты то мне нужны. Как же я буду нагуливать профиль если аналитика яндекса и гугла с фейсбуком не работают. Да еще эти майнеры, которые только и ждут когда им предоставят халявную мощность. И родилось решение сделать черный и белый список наподобие расширения AdBlock.
Итак. Имеем 2 списка.
DB_Black_List_Mainer.txt - здесь черный список доменов заподозренных в предоставлении скриптов для майнинга. этот список можно иметь в одном экземпляре и иногда обновлять его.
DB_White_List_JS.txt - здесь белый список доменов с которых мы хотим загружать яваскрипты. Для нагуливания кук туда пишем всякие метрики, фейсбуки, инстаграмы ну и подобное. Если работа идет с таргертированным сайтом, то его обязательно прописываем. я там накидал несколько строк. дополните своими. этот список можно иметь в нескольких вариантах и подключать нужный. ну или просто для каждого шаблона иметь свой рядом в папочке.
В шаблоне подсоединяем их как списки. Делаем кубик C# и вставляем этот код. выполнять в начале работы шаблона.
как видно на скриншоте, при загрузке неизвестного подозрительного сайта, загружаются и выполняются только разрешенные яваскрипты, а неизвестные не загружаются.
весь остальной контент загружается без проблем. Думаю будет полезна в шаблонах для нагуливания кук и при работе с таргертированным сайтом с которого необходимо переходить в неизвестность.
PS. Пока писал эту статейку , запустил все доработанные шаблоны в работу. Поработали где то минут 30. Ошибок не наблюдал, нагрузка на процессор снизилась с 85-95% до 20-30%
Итак. Имеем 2 списка.
DB_Black_List_Mainer.txt - здесь черный список доменов заподозренных в предоставлении скриптов для майнинга. этот список можно иметь в одном экземпляре и иногда обновлять его.
DB_White_List_JS.txt - здесь белый список доменов с которых мы хотим загружать яваскрипты. Для нагуливания кук туда пишем всякие метрики, фейсбуки, инстаграмы ну и подобное. Если работа идет с таргертированным сайтом, то его обязательно прописываем. я там накидал несколько строк. дополните своими. этот список можно иметь в нескольких вариантах и подключать нужный. ну или просто для каждого шаблона иметь свой рядом в папочке.
В шаблоне подсоединяем их как списки. Делаем кубик C# и вставляем этот код. выполнять в начале работы шаблона.
C#:
var Black_List_Mainer = project.Lists["Black_List_Mainer"]; // список с блокируемыми доменами. майнеры и иже с ними
var White_List_JS = project.Lists["White_List_JS"]; // список с разрешенными доменами для яваскриптов.
///// формирование белого листа JS ////////////////
string White_List_JS_regex = @"(?<=(^|\r\n))((?!(";
string res="";
for (int i=0; i<White_List_JS.Count; i++){
string data=White_List_JS[i];
res=res+data.Replace(".",@"\.")+"|";
}
res=res.TrimEnd(new char[] { '|' });
White_List_JS_regex = White_List_JS_regex + res + @")).)*(\.js)";
List<string> White_List_JS_list = new List<string>() { };
White_List_JS_list.Add(White_List_JS_regex);
/////////////////////////////////////////////////////
instance.SetContentPolicy("BlockList", Black_List_Mainer, White_List_JS_list);
весь остальной контент загружается без проблем. Думаю будет полезна в шаблонах для нагуливания кук и при работе с таргертированным сайтом с которого необходимо переходить в неизвестность.
PS. Пока писал эту статейку , запустил все доработанные шаблоны в работу. Поработали где то минут 30. Ошибок не наблюдал, нагрузка на процессор снизилась с 85-95% до 20-30%
Вложения
-
20,6 КБ Просмотры: 445
-
277 байт Просмотры: 410
Для запуска проектов требуется программа ZennoPoster.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте программу ZennoPoster. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование: