1. 概要
navigator.webdriver = true は、ブラウザがプログラムによって自動操縦されている状態を示すフラグ
2. 仕組み
- ブラウザの属性: JavaScriptの
navigatorオブジェクトに存在する項目 - 手動アクセス: 人間が操作する場合は false または undefined
- 自動アクセス: Selenium等の自動化ツール起動時、ブラウザが自動で true に設定
- 隠せない足跡: システム内部で強制的に書き換わるため、通常の起動では隠蔽困難
3. Webサイト側の用途
- Bot検知: JavaScriptでこのフラグを監視
- アクセス制御: true(Bot判定)の場合にブロックや画像認証を要求
一言で言うと ブラウザ自らが差し出す「私はロボットです」という名札