Задать вопрос
Основной опыт:

  • Bots: Python + Selenium или CDP.

  • Back: Django, Celery, PostgreSQL.

  • Реклама и маркетинг: SEO, Yandex.Direct, Google Ads, myTarget, A/Б тестирование.
Второстепенный опыт:

  • Front: JavaScript (React, RTK, NextJS (SPA/SSR)), HTML, CSS (Flex/Grid), styling (SCSS, CSS Modules), WebPack.

  • WordPress/WooCommerce: создание и модификация тем и плагинов, оптимизация производительности (тысячи mRPS без модификации ядра WP), WordPress как бэк для клиента (REST API).

  • Linux (Ubuntu), Docker, Git.

  • Photoshop, Figma.
Местоположение
Россия, Москва и Московская обл.

Достижения

Все достижения (63)

Наибольший вклад в теги

Все теги (385)

Лучшие ответы пользователя

Все ответы (1245)
  • Как в ubuntu смотреть, какой пользователь что делал?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    zver - наш воображаемый пользователь-зверь.

    1. Какой пользователь в какое время заходил?

    - last - история входов.
    - last zver - история входов зверя.
    - lastb zver - история неудачных входов зверя.
    - last zver | grep "Jan 21" - история входов зверя за 21 января сего года.
    - last -s -7days zver - история входов зверя за последние 7 дней.
    - last -s 2025-01-15 -t 2025-01-21 zver - история входов зверя за 15-21 января 2025 года.

    2. Действия того или иного пользователя?

    - cat /home/zver/.bash_history - история команд зверя.
    - who -u - показывает активных пользователей (терминалы и время входа).
    - ps -u zver - показывает список активных процессов зверя.
    - sudo iotop -u zver - мониторинг ввода вывода пользователя зверя (в режиме реального времени).
    - sudo iftop -f "src user zver" - показывает сетевой трафик зверя.
    - sudo tail -f /var/log/syslog | grep zver - просмотр действий зверя в реальном времени.
    - sudo journalctl -f | grep zver - отслеживание действий зверя в реальном времени (если используется systemd).
    - sudo lsof -u zver - какие файлы открыты у зверя.
    - find /home/zver -type f -mmin -60 - какие файлы изменил зверь за последний час.
    - stat /home/zver/nomera-devchonok.txt - показывает подробности что делал зверь с файлом стратегического назначения.

    3. Если пользователь пользовался sudo -i, sudo -s, sudo su, как посмотреть, что он делал под этими оболочками?

    - sudo grep zver /var/log/auth.log - история команд (втч. под sudo) зверя.
    - sudo zgrep zver /var/log/auth.log* - просмотр истории команд зверя из текущих и архивных логгов.
    - sudo aureport -x --summary - показывает сводку команд (втч. под sudo).

    Расширенный мониторинг зверей - auditd и еще.
    Ответ написан
    2 комментария
  • Что такое Docker простыми словами?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Что такое Docker простыми словами

    простыми словами

    Если совсем прям простыми, то - это некая легковесная оболочка, которая способна изолировать приложение внутри себя от внешнего мира. Очень похож (по логике) на системы виртуализации VMware, VirtualBox, Parallels итп, но сам не является им.

    Возможности:

    - Контейнеризация: Docker позволяет паковать приложения вместе со всеми их зависимостями в контейнеры, обеспечивая тем самым их независимость от конкретной инфраструктуры.
    - Переносимость: Контейнеры Docker могут быть запущены на любом компьютере, который поддерживает Docker, независимо от операционной системы. Это делает распространение и развертывание приложений намного проще.
    - Изоляция ресурсов: Каждый контейнер Docker работает в изолированной среде и не влияет на другие контейнеры или хостовую систему.
    - Слоистая файловая система: Docker использует слоистую файловую систему для хранения данных, что позволяет существенно экономить дисковое пространство и упрощает обновление и распространение контейнеров.
    - Сетевые возможности: Docker позволяет настраивать сетевые параметры каждого контейнера, что позволяет создавать сложные многокомпонентные приложения.
    - Docker Hub: Docker Hub – это репозиторий, где можно хранить и делиться контейнерами. Это облегчает развертывание и распространение приложений.
    - Docker Compose: Это инструмент для определения и запуска многоконтейнерных - Docker-приложений. С помощью Compose вы можете использовать файл YAML для конфигурации служб вашего приложения, а затем с помощью одной команды создать и запустить все службы.
    - Docker Swarm: Docker Swarm предоставляет нативные возможности Docker для оркестрации и масштабирования кластера Docker.
    Ответ написан
    Комментировать
  • Полная разница sudo su, sudo -i, sudo -s?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Разница 1: Почти, sudo -i также меняет HOME на /root, и читает логин скрипты root юзера.
    - Разница 2: Верно, действия с sudo -i и sudo -s логгируются в журналах юзера, а sudo su - нет.
    - Разница 3: Верно, sudo позволяет настраивать ограничения для команд через sudo -i и sudo -s, но не для sudo su (так как sudo su переключает юзера в root).
    Еще не понял разницу между
    sudo su
    sudo su -

    - sudo su - переключает юзера на root, но окружение при этом не является полным root окружением.
    - sudo su - - эмулирует полный вход юзера root (login shell). Будут прочитаны все файлы конфигурации, которые обычно читаются при входе root (profile, .bash_profile, .bashrc и что-то там еще). Насколько я понимаю, это то, что нужно Вам при работе от имени юзера root.
    И где можно смотреть логи пользаков при использовании sudo -i, sudo -s?

    Viewing and monitoring log files, можно еще заюзать journalctl.
    Ответ написан
    7 комментариев
  • Что выбрать WP или Python+Django для сайта?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    Короткий ответ (с учетом указанного ТЗ) - WP.

    Длинный ответ:
    публиковать страницы, создавать иерархию страниц, чпу url, какой то слайдер с картинками

    Учитывая типовое ТЗ, ответ - WP (все это уже реализовано, преимущественно бесплатно и в большом количестве).
    небольшое количество услуги в регионе

    Вы на старте выхода в интернет, предположу, что количество оказываемых услуг оффлайн - будет примерно равнозначно количеству оказываемых услуг онлайн, а значит производительность инструмента не первостепенна, ответ - WP.
    Нашли компанию, предлагает разработку сайта на WP или на Python+Django (дороже и дольше)

    Начнем с того, что это не равнозначные инструмент, ибо WP - это готовый движок/CMS для сайта + сам сайт (готовые шаблоны), развернул на хостинге и готово. А вот Django - это фреймворк, т.е. некий набор инструментов, да он позволяет сделать из него что угодно (ах*енно сделать (на правах отвечающего)), но потом. Соответственно, если вопроса в функционале и производительности не стоит (и предположу - сделать быстро) - выбираем WP, будет дешевле и быстрее.

    Что обычно я использую (от начального проекта к финальному):
    1. WP в стоке + сборка фронта (webpack) с оптимизацией + кэширование.
    2. Докупка железа и горизонтальное масштабирование п1 балансировщиком.
    3. Профилирование и переписывание определенных запросов под конкретные задачи в самом WP, обычно добавляет производительности в 2-3 раза (от wp там мало что остается, но ценник и сроки еще не такие, как в п4).
    4. Python + Django + кэширование (если нужно быстрее любого WP и более специфический функционал).
    5. П4 + FastAPI (если прям совсем прижало по производительности).
    Ответ написан
    6 комментариев
  • Как анти-бот системы определяют ботов и как от них защищаться?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Если я отправлю гет запрос из консоли то увидит-ли меня сайт где именно я нахожусь?

    Напрямую нет, но косвенно можно понять это по ip адресу исходящего запроса.
    Если я будут использовать селениум то увидит-ли меня сайт где именно я нахожусь?

    Напрямую нет, но косвенно можно понять это по ip адресу + гуглите, что такое утечки dns и как можно определить настоящий ip (минуя прокси) через webrtc.
    Селениум хороший анти-детект браузер? Видел еще playwright он лучше?

    Selenium - это вообще не антидетект браузер, а лишь программа, которая использует browser-driver для управления браузером. Selenium + undetected-chromedriver простая защита сайта не обнаружит, но вот средненькие антибот системы он уже часто не проходит. Playwright лучше определяется антибот системами.
    Как обычно парсят сайты со сложной защитой? Где продаются такие боты?

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

    Профессионально обнаружением ботов занимаются отдельные команды или даже целые компании (Radware, DataDome, Cloudflare, Imperva, Arkose Labs, HUMAN Security, Akamai, hCaptcha итп). Обнаружение сводится к прямому и косвенному методам.

    Прямые методы обнаружения:
    - Частота запросов и "доверие" (trust) к конкретному ip.
    - Проверка заголовков User-Agent. Заголовки от iphone, версия браузера от андройда, а размер дисплея от ноута - надежно!
    - Отпечатки рукопожатий TLS/QUIC (векторы JA3/JA4, ALPN, расширенный порядок).
    - Проверка выполнения JS.
    - Обнаружение признаков использования драйверов браузеров (window.navigator.webdriver, window.document.__webdriver_script_fn итп), открытости DevTools итп.
    - Шрифты: через js получают список шрифтов (откуда у вас Ubuntu шрифт на Андройде?), затем выборочно печатают на canvas изображение нужным шрифтом или печатают невидимый шрифт без канваса (применяют css свойство с найденным шрифтом), затем замеряют размеры результата и сверяют его с эталоном.
    - Видеокарта: через js рисуют на canvas невидимое изображение с цифрами, спецсимволами и смайликами, затем получают представление изображения в виде кода. Через WebGl можно нарисовать 3D изображение.
    - Камера. Как это у вас 3 камеры на samsung a32, если их 4?
    - Гироскоп, компас, акселерометр (все это без разрешения работает на андройде). Почему ваш гироскоп не двигается несколько минут подряд, хотя геолокация и ip gsm вышек меняются?
    - Анализ аудио рендеринга без разрешения на доступ к аудио (используется только программный аудио стек), где собираются уникальные артефакты обработки звука в зависимости от аппаратного обеспечения. Генерируется аудиосигнал, который обрабатывается через цепочку фильтров и эффектов (динамическая компрессия, частотные изменения, реверберация, изменение частотной или амплитудной модуляции итп).
    - Остальная проверка характеристик браузера->устройства: процессор, оператива, дисплей, плагины, часовой пояс, язык. У вас в браузере установлен русский язык, тайм-зона германии, последняя геолокация час назад в италии, а сейчас вы используете ip адрес гондураса, и как ему удается свайпать по НЕ сенсорному дисплею? - чистокровный человек, пропускаем! ;)
    = Собираем данные, хэшируем и получают относительно уникальный отпечаток (fingerprint). Уникальность заявляется разная, вплоть до 99%.

    Косвенные методы обнаружения:
    - Частота запросов и "доверие" (trust) к конкретному ip. Внезапно начался наплыв пользователей, да и еще примерно с одинаковыми характеристиками устройств, при этом хозяин сайта не давал рекламы или как то привлекал пользователей...
    - Нестандартный скролл/свайпы/клики у пользователей, ошибки и скорость ввода текста. Внезапно резко наплывшие пользователи стали скролить примерно до одного блока, делали 3 свайпа по 5-6 точек в каждом, хотя до этого все скролили по разному...
    - Нестандартная реакция на всплывающие окна. Скролл поверх фиксированного окна - бесценно... ;)
    - Нестандартная последовательности посещенных страниц.
    - Нестандартное количество проведенного времени на странице.
    - Клики по невидимым для живого человека ссылкам, заполнение невидимых полей и отправка формы, когда она не может быть отправлена, в результат не верной js валидации полей - это вообще не стареющая классика.
    - Геолокация - только с разрешения, но после разрешения можно получить много косвенных данных для анализа. Какая точная у вас геолокация, всегда до метра, и прыгает всегда по 10 метров, а у других на таком же устройстве все дергается как го*но в проруби...
    = Собираем данные, заливаем в нейронку и сравниваем с эталонными пользователями.

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

Лучшие вопросы пользователя

Все вопросы (330)