Анонимность в Human Emulator Studio. Куки, кэш и не только.
Кэш браузера.
Что такое Кэш браузера (Browser cache)?
По факту кэш эта куча временных файлов загружаемых с сайта при первом переходе на него, при условии что на нём включено кэширование. Используется эта технология для ускорения работы с сайтом, то есть включенный кэш на сайте уменьшает время ожидания загрузки и отображения контента и снижает сетевой трафик.
Анонимность и кэш.
Но при этом сохранение подобных файлов несёт в себе определенные риски в том числе стороннее ПО может получить доступ к этим файлам. К тому же сами сайты могут засовывать в кэш специальные файлы для вашей последующей идентификации. Поэтому для сохранения вашей анонимности кэш необходимо чистить.
В Human Emulator Studio для очистки кэша используется команда объекта browser clear_cache.
пример на php:
1 2 3 4 |
// чистим кэш $browser->clear_cache(); |
При этом этой же функцией чистятся и данные из local storage (локальные хранилища данных.)
Хранилище Web.
Хранилище Web (Web storage или ранее DOM Storage) это стандарт HTML, который предоставляет функционал для хранения данных на стороне клиента в течении сессии(Session Storage – сессионное хранилище), или после завершения сессии (Local Storage – локальное хранилище). Стандарт Web storage появился тогда, когда владельцем сайтов прекратило хватать традиционных cookies так как они имели существенные ограничения по размеру и проблемы с безопасностью.
DOM хранилище (DOM Storage) — это название для набора инструментов, относящихся к хранилищам, впервые представленных в спецификации Web Applications 1.0, и выделенных теперь в отдельную специкацию W3C Web Storage.
Соответственно, для вашей анонимности эти хранилища нужно также чистить. Если вам необходимо почистить только Local Storage для этого можно использовать функцию объекта браузер сlear_local_storage.
пример на php:
1 2 3 4 5 |
// очистить только локальные хранилища данных $browser->clear_local_storage(); |
пример на php:
1 2 3 4 |
// очистить куки для всех сайтов, в том числе и сессионные куки $browser->clear_cookies("", true); |
IndexedDB.
Ещё одно хранилище пользовательских данных. С версии 7.0.42 чистится с помощью функции объекта браузер clear_cookies.
А также была добавлена отдельная функция в объект browser clear_indexed_db, только для отчистки этого хранилища.
пример на php:
1 2 3 4 |
// очистить только IndexedDB $browser->clear_indexed_db(); |
Куки (HTTP cookies, Flash Cookies, Evercookies).
http cookies (web cookies) — это данные с сервера, которые в текстовом виде хранят на вашем компьютере различные настройки, аутентификации, сеансы, статистику, персональные предпочтения и т.д. Чистится с помощью функции объекта браузер clear_cookies.
clear_cookies(match_name,clear_session=false,clear_flash=true)
match_name – шаблон для поиска сайтов, чьи куки надо очистить (часть адреса), если задана пустая строка — очищаются все. К примеру ya.ru или https://ya.ru/ и т.д.
clear_session – очищать сессионные куки (true) или не очищать (false) при выполнение команды. Сессионные куки — отслеживания состояния сеанса доступа пользователя;
clear_flash – очищать ли (true) или не очищать (false) флэш куки.
Flash Cookies (LSO Cookies) — в отличие от обычных куков в том, что они общие для всех браузеров и с их помощью можно хранить больший объём информации. Чистятся эти куки также с помощью функции объекта браузер clear_cookies.
Помимо чистки с помощью функции clear_cookies для Flash Cookies есть возможность удалять их функцией объекта browser flash_cookies_delete, а также восстановить сохраненные флэш куки из заданной папки как текущие с помощью функции объекта browser flash_cookies_restore и сохранить текущие флэш куки в заданную папку с помощью функции объекта browser flash_cookies_save.
пример на php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Перейдем на Яндекс $browser->navigate("http://www.wordstat.yandex.ru"); // путь к папке для сохранения кук $path="C:\\FlashCookies1"; // Сохраним флэш куки // создадим папку $folder->create($path); // сохраним куки $browser->flash_cookies_save($path); sleep(1); // Удалим флэш куки echo($browser->flash_cookies_delete()."\n"); // Восстановим флэш куки из сохраненной папки $browser->flash_cookies_restore($path); |
пример на php чистим все куки:
1 2 3 |
// чистим все куки, в том числе сессионные и flash куки $browser->clear_cookies("",true); |
Evercookie — самые устойчивые куки, куки хранятся практически во всех доступных хранилищах и если их не вычистить отовсюду они автоматически восстанавливается из оставшихся. Для их отчистки нужно закрыть все вкладки перейти в оставшейся на пустую страницу и выполнить чистку куков и кэша и желательно ещё перезапустить программу.
пример на php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// закрываем все открытые вкладки браузера $browser->close_all_tabs(); // в оставшейся переходим на пустую страницу $browser->navigate("about:blank"); sleep(1); // чистим куки $browser->clear_cookies("",true); sleep(1); // чистим кэш $browser->clear_cache(); sleep(1); // перезапускаем программу $app->restart(); |
Сохранение и восстановление куков и кэша.
Для того что бы сохранить, а затем повторно использовать все куки и кэш можно использовать функции объекта browser
set_cookies_folder – задать папку для кукисов. Папки с кэшем будут создаваться внутри заданной папки с куками.
Логика тут проста: вы задаёте новую папку и выполняете все необходимые действия такие как навигация по сайту, вход в учётную запись, загрузка контента и т.д., после чего меняете папку на новую и опять выполняете все необходимые действия под другой учётной записью. В итоге у вас будет несколько папок с куками и кэшем, которые можно будет использовать в дальнейшем.
пример на php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
// получить порт на котором работает скрипт $app_port=$app->get_port(); // пути к папкам с куками $cookies_path1 = "C:\\XWeb Studio\\Human Emulator Studio\\$app_port\\cookies\\test_cookies_folder1"; $cookies_path2 = "C:\\XWeb Studio\\Human Emulator Studio\\$app_port\\cookies\\test_cookies_folder2"; // Зададим папку куков $browser->set_cookies_folder($cookies_path1); // выполняем необходимые действия для получения куков и кэша // навигация по сайту логин загрузка контента и т.д. // меняем папки // Зададим папку куков $browser->set_cookies_folder($cookies_path2); // повторно выполняем необходимые действия для получения куков и кэша // навигация по сайту логин загрузка контента и т.д. // после этого задаём опять // Зададим папку куков $browser->set_cookies_folder($cookies_path1); // и снова заходим на нужные сайты и делаем там какие то действия и т.д. |
Обращаем внимание на то, что при перезапуске программы папки с куками сбрасываются на пути по умолчанию, поэтому если вы хотите что бы папка с куками после перезапуска программы оставалась той же самой, надо использовать для перезапуска команду объекта app restart и в ней задавать нужную папку с куками. Папка с кэшем теперь всегда находится внутри папки с куками.
Импорт кук.
Если у вас есть куки, которые нужно использовать в программе, то это можно сделать с помощью команды объекта browser import_cookies. Это функция используется для импорта куков из формата JSON. Команда на вход принимает два параметра url — адрес сайта для которого импортируются куки, cookies — куки в формате json.
Пример использования на php:
1 2 3 4 5 6 |
// прочитать куки из файла $cookie = file_get_contents('cookie.txt'); // делаем импорт кук для заданного url $browser->import_cookies($url,$cookie); sleep(1); // и далее переходим на сайт для которого используются куки |
Обращаем ваше внимание на то, что куки импортированные таким образом могут не работать для некоторых сайтов, так как они могут быть привязаны к компьютеру. Для таких сайтов можно импортировать куки полученные на этом же компьютере/сервере.
Обсудить команду или задать вопросы по импорту кук можно на нашем форуме в теме про импорт кук.
Удаление папок с куками и кэшем в момент старта программы.
В программе с версии 7.0.25 появились настройки для очистки куков и кэша при старте. Так как удалить полностью папки с куками и кэшем при работающей программе не возможно, были добавлены специальные настройки для того чтобы в момент запуска программы пока эти папки ещё не заняты процессами браузера полностью удалять их. Эти настройки находятся в настройках программы закладка «Основные» галочки «Очищать куки текущего порта при старте» и «Очищать кэш текущего порта при старте«.

Полная чистка всего и вся.
Полная чистка всего и вся может выполняться с помощью функции объекта app clear.
пример на php:
1 2 3 4 5 6 7 8 9 |
// закрыть все вкладки браузера $browser->close_all_tabs(); // перейти в оставшейся вкладке на пустую страницу $browser->navigate("about:blank"); sleep(1); // чистим всё $app->clear(); |
Для полной чистки всех куков и кэша, после их отчистки необходимо перезапустить программу с помощь функции объекта app restart . Эта функция позволяет перезагружать программу с запуском скрипта, а также задавать ряд настроек такие как порт, пути к папке с куками. К тому же при полном перезапуске программы чиститься ещё и память, а если у вас заданы настройки «Очищать куки текущего порта при старте» и «Очищать кэш текущего порта при старте«, то ещё полностью удаляются папки с куками и кэшем. Таким образом логика работы вашего скрипта должна учитывать все эти нюансы.
пример на php с использованием функций чистки куков и кэша:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// тут задаём настройки для сёрфинга // выполняем серфинг // а после // закрываем все вкладки браузера $browser->close_all_tabs(); // переходим в оставшейся вкладке на пустую страницу $browser->navigate("about:blank"); sleep(1); // Очистить куки $browser->clear_cookies("",true); sleep(1); // Очистить кэш $browser->clear_cache(); sleep(1); // перезапуск программы с запуском этого же скрипта на этом же порту $app->restart($debug->get_cur_script_path(),$app->get_port(),$app->get_port()); |
пример на php с использованием функций объекта app clear:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// тут задаём настройки для сёрфинга // выполняем серфинг // а после // закрываем все вкладки браузера $browser->close_all_tabs(); // переходим в оставшейся вкладке на пустую страницу $browser->navigate("about:blank"); sleep(1); // чистим всё $app->clear(); sleep(1); // перезапуск программы с запуском этого же скрипта на этом же порту $app->restart($debug->get_cur_script_path(),$app->get_port(),$app->get_port()); |
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.