破译 Selenium 检测技术
即使不涉及自动化,网站也确实可以检测 Selenium 使用情况吗?这个持续存在的问题让用户感到困惑,他们质疑 Web 服务器如何查明 Selenium 的存在,尽管他们期望 Selenium 和 Chrome 对他们来说应该无法区分。
事实证明,机器人检测脚本利用预定义的 JavaScript 变量来揭示 Selenium 的在场。这些带有“selenium”或“webdriver”等名称的变量在各种浏览器环境中充当警示标志。
为了规避这种检测,开发人员可以采取各种策略。一种巧妙的方法涉及修改 Chromedriver 源代码,特别是“getPageCache”函数,并用无害的替代方案替换臭名昭著的“$cdc_”变量。这种微妙的变化阻碍了机器人网络识别 Selenium 的存在。
除了这种特定方法之外,机器人网络还采用了一系列复杂的技术来揭露 Selenium。他们在浏览器环境中搜索可疑变量,无论是在“窗口”还是“文档”对象中。通过匹配已知模式,这些算法以惊人的准确度暴露了 Selenium 的存在。
这些模式的示例包括:
为了逃避检测,开发人员可以采取对策,例如替换或清理可疑变量或合并浏览器扩展掩盖 Selenium 的足迹。机器人网络和 Selenium 用户之间的战斗不断演变,双方都开发出越来越聪明的检测和规避策略。
以上是即使没有显式自动化,网站也能检测到 Selenium 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!