Виявлення WebDriver – це процес визначення того, чи перебуває веб-переглядач під автоматичним контролем. Найвідомішим сигналом є властивість navigator.webdriver. Веб-сайти також можуть перевіряти середовище браузера, мережеве підключення, історію сеансів і активність на сторінці.
Результат виявлення не обов’язково повинен призвести до блокування. Веб-сайт може дозволити сеанс, контролювати його, застосовувати обмеження швидкості, запитувати перевірку або переглядати діяльність. Відповідь часто залежить від того, що відвідувач намагається зробити.
Автоматизований контроль не є доказом зловживання. Системи тестування, служби моніторингу, інструменти доступності та затверджені бізнес-процеси можуть використовувати Автоматизація браузера. Важливе питання полягає в тому, чи ця діяльність є очікуваною, дозволеною та безпечною для цієї частини веб-сайту.
Що таке Виявлення WebDriver?
Виявлення WebDriver шукає докази того, що браузером керує WebDriver або пов’язане середовище автоматизації.
WebDriver надає програмному забезпеченню стандартний спосіб керування браузером. Сценарій може відкривати сторінки, знаходити елементи, вводити текст, натискати кнопки, керувати вікнами та читати результати. Selenium — це інструмент, який більшість людей асоціює з WebDriver, але ці два терміни не означають те саме.
WebDriver — стандарт керування браузером. Selenium – це проект автоматизації, який використовує WebDriver. ChromeDriver, GeckoDriver, SafariDriver і EdgeDriver є реалізаціями для окремих браузерів.
Драйвер зазвичай працює за межами сторінки та передає команди між клієнтом автоматизації та браузером. Веб-сайт спостерігає за станом браузера та отриманими сигналами, а не перевіряє сам виконуваний файл драйвера.
Виявлення WebDriver відповідає на вузьке технічне запитання.
Чи виглядає цей браузер під автоматичним контролем?
Авторизація та ризик – окремі питання. І робочий процес тестування, і образливий сценарій можуть створювати сигнали автоматизації. Веб-сайту потрібні запит, сеанс, обліковий запис і бізнес-контекст, щоб розрізнити їх.
Ось чому докази WebDriver часто стають одним із вхідних даних у ширшому рішенні Виявлення ботів.
Як працює WebDriver?
Базовий робочий процес WebDriver складається з чотирьох частин.
- Сценарій автоматизації визначає завдання.
Сценарій може попросити браузер відкрити URL-адресу, знайти форму, ввести дані або перевірити, чи з’явився елемент.
- Клієнт WebDriver надсилає команди.
Клієнтська бібліотека перетворює інструкції з Python, Java, JavaScript, C# або іншої підтримуваної мови на команди WebDriver.
- Драйвер браузера отримує команди.
ChromeDriver керує Chrome або Chromium. GeckoDriver керує Firefox. Інші браузери пропонують власні реалізації драйверів.
- Браузер виконує дію.
Браузер завантажує сторінку та повертає інформацію до сценарію автоматизації.
Специфікація W3C WebDriver визначає WebDriver як інтерфейс дистанційного керування для браузерів. Він також визначає прапор, який стає активним, коли браузер перебуває під дистанційним керуванням.
Браузер показує цей стан веб-сторінці через navigator.webdriver. Відповідно до MDN, властивість вказує, чи контролюється браузер автоматизовано.
Така поведінка є навмисною. Це надає сторінці стандартний спосіб розпізнавання автоматичного браузера та використання іншого шляху коду, коли це необхідно. Наприклад, тестове середовище може вимкнути анімацію або збирати додаткову діагностичну інформацію.
Ця властивість є частиною інтерфейсу автоматизації, а не випадковим витоком.
Як працює Виявлення WebDriver?
У типовому налаштуванні сторінка JavaScript зчитує стан браузера та збирає невеликий набір пов’язаних сигналів. Сторінка надсилає ці спостереження на сервер. Система ризиків порівнює їх із запитом, сеансом і спробою дії. Потім політика вирішує, чи дозволяти, контролювати, оскаржувати, обмежувати або блокувати запит.
Найпростіша перевірка читається як navigator.webdriver. Значення true означає, що браузер повідомляє, що керування автоматизацією активне.
Це корисний доказ, але його значення обмежене. Ресурс повідомляє лише про контрольний стан. Він не ідентифікує власника сценарію чи мету завдання.
Публічний запит на статтю та зміну платежу не слід оцінювати за однаковими стандартами. Перша дія має незначний прямий вплив. Другий може вимагати посилених перевірок, навіть коли людина використовує браузер.
Сучасне виявлення може розглядати кілька рівнів.
Стандартний стан автоматизації
navigator.webdriver є найпрямішим сигналом WebDriver. Це дешево перевірити та легко зрозуміти.
Внутрішній набір тестів може давати те саме значення, що й неавторизований сценарій. Тому веб-сайт потребує більше контексту, перш ніж вибрати відповідь.
Докази браузера та драйвера
Середовище автоматизації може дещо відрізнятися від звичайного сеансу браузера. Ці відмінності можуть проявлятися у властивостях браузера, структурах об’єктів, дозволах, параметрах запуску або середовищі виконання.
Конкретні артефакти змінюються в міру оновлення браузерів, драйверів і систем автоматизації. Правило, створене на основі одного старого артефакту, може перестати працювати або почати позначати законні браузери.
Система виявлення виробництва потребує регулярного тестування. Він не може залежати від постійного списку підозрілих змінних.
Послідовність браузера
Веб-сайт може порівнювати те, що заявляє браузер, із тим, що він може спостерігати.
Наприклад, рядок агента користувача може претендувати на один браузер або операційну систему, тоді як інші API пропонують інше середовище. Конфігурація екрана, графічні результати, стан дозволу або доступна функція можуть не відповідати заявленій платформі.
Зміна рядка агента користувача не відтворює повний браузер. Підробка агента користувача змінює заявлену інформацію про клієнта. Він не змінює автоматично механізм візуалізації, графічне середовище, мережевий стек, файли cookie або історію сеансів.
Графічні дані можуть надати іншу точку порівняння. Відбиток WebGL може допомогти системі перевірити, чи повідомлені веб-переглядач, операційна система та графічне середовище мають сенс разом.
Невідповідність збільшує невизначеність. Віртуальні машини, віддалені робочі столи, інструменти конфіденційності, розширення браузера та незвичайне обладнання також можуть створювати незвичні комбінації.
Мережа та контекст запиту
Виявлення може тривати до та після того, як сторінка прочитає властивості браузера.
Веб-сайт може враховувати:
- IP-адреса та власник мережі
- Частота запитів
- Послідовність заголовка
- Запитані кінцеві точки
- Порядок навігації
- Характеристики TLS і HTTP
- Попередні запити з того самого сеансу
Це не сигнали WebDriver у строгому сенсі. Вони належать до ширшої оцінки трафіку та ризику.
Наприклад, TLS-фінгерпринтинг може допомогти порівняти мережеве рукостискання із заявленим браузером. Результат додає контекст, але сам по собі не може визначити мету запиту.
Сеанс і поведінка
Деякі з найпереконливіших доказів з’являються з часом.
Платформа може перевіряти повторювані помилки входу, обсяг створення облікового запису, активність оформлення замовлення, порядок навігації та зміни між сеансами. Сенс випливає з усього робочого процесу.
Десять запитів на публічну статтю можуть бути нешкідливими. Десять невдалих спроб входу в різні облікові записи викликають більше занепокоєння.
Прості уявлення про людську поведінку ненадійні. Люди можуть швидко клацати. Автоматизація може включати затримки. Інструменти доступності можуть створювати шаблони взаємодії, які виглядають незвично. Корисна модель враховує дію, рахунок і можливу шкоду.
Які сигнали використовуються для Виявлення WebDriver?
Виявлення WebDriver часто починається з однієї стандартної властивості. Більш широке автоматизоване виявлення може використовувати кілька груп сигналів.
Стандартні сигнали браузера
Приклади:
navigator.webdriver- Переглядач повідомив про стан автоматизації
- Налаштування середовища виконання, пов’язані з автоматизацією
Ці сигнали можуть показувати, що веб-переглядач знаходиться під автоматичним контролем. Намір на даному етапі залишається невідомим.
Сигнали виконання
Приклади:
- Відмінності браузера, пов'язані з драйвером
- Змінені об'єкти браузера
- Незвичайні структури власності
- Неочікувані стани дозволу
- Відмінності між версіями браузера та доступними API
Ці сигнали можуть виявити інструментальне середовище. Їх значення може змінитися після оновлення браузера або драйвера.
Послідовність середовища
Приклади:
- Рядок агента користувача та угода про функції браузера
- Угода щодо операційної системи та графіки
- Екран і можливості введення
- Підтримка версії браузера та API
- Різниця в часі виконання без голови та без голови
Перевірки узгодженості корисні, оскільки середовище браузера складається з багатьох пов’язаних частин. Правила виявлення все ще потребують місця для незвичайних, але законних налаштувань.
Сигнали мережі та запиту
Приклади:
- IP репутація
- ASN і тип мережі
- Характеристики TLS
- HTTP заголовки
- Ставка запиту
- Послідовність кінцевих точок
Ці сигнали описують з’єднання та структуру трафіку. Вони не є специфічними для WebDriver.
Сигнали сесії та облікового запису
Приклади:
- Файли cookie та безперервність сесії
- Історія входу
- Невдалі спроби
- Вік облікового запису
- Повторні дії
- Швидкість транзакції
- Зміни між візитами
Ці сигнали допомагають платформі оцінити ризик активності, а не лише браузеру.
Надійні рішення залежать від узгодженості між незалежними сигналами. Прапор веб-переглядача, мережеве значення або модель поведінки не повинні приймати все рішення.
Чому веб-сайти використовують Виявлення WebDriver?
WebDriver може виконувати ту саму дію багато разів із незначними ручними зусиллями. Це робить його корисним для тестування. Це також може збільшити масштаби шкідливої діяльності.
Веб-сайти можуть використовувати Виявлення WebDriver під час захисту:
- Сторінки входу з додавання облікових даних
- Реєстраційні форми від створення підробленого облікового запису
- Форми коментарів від спаму
- Потоки оплати з тестування картки
- Захист продажу квитків і випуску продуктів від автоматизованих покупок
- Системи реклами від фальшивих кліків
- Загальнодоступний вміст із несанкціонованого збору
- API від надмірних або образливих запитів
Ризик походить від дії та її впливу. Автоматизація – це лише спосіб доставки.
Ця ж технологія підтримує законну роботу. Selenium широко використовується для регресійного тестування та перевірки сумісності браузера. Служби моніторингу можуть відкривати сторінки, щоб підтвердити, що важливі потоки все ще працюють. Внутрішні команди можуть автоматизувати завантаження звітів або повторюване введення даних. Схвалені партнери можуть використовувати Автоматизація браузера, якщо не існує відповідного API.
Якщо це можливо, схвалена автоматизація має використовувати офіційний API, обліковий запис служби, задокументований ідентифікатор сканера або білий список. Він також повинен мати чіткого власника, визначені дозволи, розумні обмеження швидкості та корисні журнали.
Виявлення WebDriver та пов’язані поняття
Кілька пов’язаних термінів описують різні частини аналізу веб-переглядача та трафіку.
Виявлення Автоматизація браузера
Виявлення WebDriver є частиною Автоматизація браузера.
Виявлення WebDriver запитує, чи виглядає веб-переглядач керованим через WebDriver. Виявлення Автоматизація браузера запитує, чи програмне забезпечення керує веб-переглядачем через будь-який підтримуваний канал керування.
Playwright і Puppeteer — це інструменти Автоматизація браузера, але їх не слід описувати як ідентичні Selenium WebDriver. Їхні методи керування залежать від браузера та середовища виконання. У Chromium вони зазвичай спілкуються через протокол Chrome DevTools.
Веб-сайт, який перевіряє лише navigator.webdriver, перевіряє один сигнал, а не кожну форму Автоматизація браузера.
Безголове виявлення браузера
Безголовий браузер працює без звичайного видимого вікна браузера. WebDriver — це спосіб керування браузером.
Ці дві концепції можуть збігатися. Сеанс WebDriver може виконуватися в безголовому режимі. Він також може працювати з видимим вікном браузера.
Безголове виявлення браузера може перевіряти поведінку візуалізації, властивості вікна, вихід графіки або відсутні функції браузера. Ці перевірки не є всіма перевірками WebDriver.
Безголовий режим поширений у безперервній інтеграції, автоматизованому тестуванні, моніторингу та запланованих завданнях.
Виявлення ботів
Виявлення WebDriver зосереджується на стані технічного контролю.
Виявлення ботів має ширший діапазон. Він може поєднувати:
- Докази Автоматизація браузера
- Репутація мережі
- Викрійки запиту
- Історія сесії
- Активність облікового запису
- Поведінкові сигнали
- Діловий ризик
Система Виявлення ботів може не знайти доказів WebDriver і все одно класифікувати трафік як автоматизований. Він також може розпізнати затверджену автоматизацію та дозволити сеанс.
Виявлення ідентифікує докази. Політика вирішує, що з цим робити.
Фінгерпринтинг браузера
Фінгерпринтинг браузера збирають характеристики веб-переглядача та пристрою. Він може використовувати результати для ідентифікації, перевірки відповідності, запобігання шахрайству, аналітики або відстеження.
Виявлення WebDriver може використовувати дані відбитків пальців, але має іншу мету. Він запитує, чи присутній автоматичний контроль.
Відбиток пальця може виглядати звичайним, поки сеанс автоматизований. Незвичайний відбиток пальця може належати реальній людині. Більш широкий контекст визначає, якої ваги заслуговує результат.
Чи може Виявлення WebDriver викликати помилкові результати?
Помилковий результат виникає, коли законна діяльність розглядається як шкідлива автоматизація. Помилковий негатив виникає, коли зловмисна автоматизація проходить перевірку.
Помилкові спрацьовування можуть вплинути на:
- QA та команди розробки
- Системи моніторингу
- Браузери, орієнтовані на конфіденційність
- Програмне забезпечення доступності
- Користувачі віддаленого робочого столу
- Віртуальні машини
- Налаштування корпоративного браузера
- Нові або незвичайні версії браузера
Іноді технічне спостереження правильне, але політичне рішення неправильне. Система може розпізнати керування WebDriver, а потім припустити, що завдання є зловмисним, не перевіряючи авторизацію чи мету.
Читання загальнодоступної сторінки може потребувати лише моніторингу або розумного обмеження швидкості. Зміна платіжних реквізитів може потребувати більш надійної перевірки. Ефективні дії заслуговують на суворіші порогові значення та кращі шляхи відновлення.
Команди мають перевірити блокування, виклики, скарги користувачів і наслідки оновлень браузера. Вони також повинні надавати стабільні методи доступу для затвердженої автоматизації.
Виявлення WebDriver та профілі веб-переглядача
Профіль браузера зберігає дані та налаштування браузера в окремому середовищі. Він може зберігати файли cookie, сховище, стан входу, налаштування проксі та конфігурацію відбитків пальців для певного робочого процесу.
Це полегшує організацію затвердженої автоматизації. Це може зменшити випадкове накладення сеансів і допомогти команді зберегти чітке право власності.
MoreLogin дозволяє користувачам запускати профіль браузера через локальний API. Для локального робочого процесу Selenium результат запуску містить порт налагодження та відповідний шлях WebDriver. Розробники можуть використовувати ці деталі для підключення Selenium до запущеного профілю, як показано в офіційному прикладі автоматизації Selenium.
Профіль не визначає, як інший веб-сайт класифікуватиме сеанс. Авторизація, частота виконання завдань, історія облікового запису та правила платформи все ще впливають на результат.
Команди, які керують кількома середовищами облікових записів, можуть використовувати браузер кількох облікових записів для організації багаторазових профілів, окремих сеансів і контролю доступу команди. Дозволи, журналювання, обмеження швидкості та перевірка людьми залишаються частиною робочого процесу.
Ключові висновки
- WebDriver — стандартний інтерфейс для керування браузерами.
- Виявлення WebDriver шукає докази автоматизованого керування браузером.
navigator.webdriverє найвідомішим стандартним сигналом.- Браузер, мережа, сеанс і бізнес-контекст впливають на остаточне рішення.
- Схвалена автоматизація повинна мати чіткі дозволи, права власності та обмеження.
- Профілі веб-переглядача організовують середовища автоматизації, але не гарантують, як веб-сайти їх класифікують.
Поширені запитання щодо Виявлення WebDriver
Що таке Виявлення WebDriver простими словами?
Виявлення WebDriver перевіряє, чи програмне забезпечення керує браузером через WebDriver. Веб-сайт може читати navigator.webdriver і перевіряти інші сигнали браузера або сеансу. Результат може допомогти веб-сайту вирішити, чи дозволяти, контролювати, оскаржувати, обмежувати чи блокувати дію.
Що означає navigator.webdriver?
navigator.webdriver – це властивість браузера, яку сторінки можуть читати, але не записувати. Він визначається стандартом WebDriver і повідомляє, чи активний контроль автоматизації. Властивість не описує призначення автоматизації.
Чи можуть веб-сайти виявляти Selenium WebDriver?
так Веб-сайт може перевірити стандартний стан WebDriver та інші ознаки автоматизованого середовища браузера. Методи виявлення відрізняються на різних веб-сайтах і змінюються в міру оновлення браузерів і драйверів. Пошук доказів, пов’язаних із селеном, не встановлює, чи схвалена діяльність.
Чи WebDriver те саме, що Selenium?
Ні. WebDriver — це стандартний інтерфейс і протокол для керування браузером. Selenium – це проект автоматизації, який використовує WebDriver. Selenium також надає мовні прив’язки та інструменти, які допомагають розробникам створювати та запускати Автоматизація браузера.
Чи є інструментами Playwright і Puppeteer WebDriver?
Playwright і Puppeteer — це інструменти Автоматизація браузера, але вони не є альтернативними назвами для Selenium WebDriver. Методи керування ними залежать від браузера та середовища. У Chromium вони зазвичай спілкуються через протокол Chrome DevTools.
Чи завжди безголовий браузер контролюється WebDriver?
Ні. Headless описує, як браузер працює без звичайного видимого вікна. WebDriver описує інтерфейс керування браузером. Сеанс WebDriver може бути головним або безголовим. Інші засоби автоматизації також можуть запускати браузери в безголовому режимі.
Чи navigator.webdriver доводить, що відвідувач є зловмисним ботом?
Ні. Це показує, що браузер повідомляє про активний контроль автоматизації. Власність не може встановити авторизацію, намір або бізнес-ризик. Автоматизоване тестування, моніторинг і внутрішні робочі процеси можуть мати таку саму цінність, як образливий сценарій.
Чи перешкоджає профіль веб-переглядача Виявлення WebDriver?
Жоден профіль браузера не може гарантувати певний результат з кожного веб-сайту. Профіль може розділяти сховище браузера, налаштування, сеанси та конфігурацію проксі. Кожен веб-сайт усе ще застосовує власні методи виявлення та політику до активності, яку він спостерігає.
Організовуйте робочі процеси Автоматизація браузера
Виявлення WebDriver легше зрозуміти, якщо керування, ідентичність і поведінка розглядаються як окремі рівні. Браузер можна автоматизувати як частину дійсного тесту. Звичне середовище браузера також може виконувати шкідливі дії.
Для схваленої роботи почніть із чіткого завдання та визначеного дозволу. Зберігайте сеанси окремо, записуйте корисні журнали, встановлюйте розумні обмеження та переглядайте дії, які мають великий вплив. Профілі веб-переглядача MoreLogin можуть допомогти організувати це середовище, не замінюючи правила та обов’язки навколо робочого процесу.

UK
