此信息消息…
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious pre.
…是 ChromeDriver v2.46* 引发的错误的结果 *
分析
根据讨论,如果启用了详细日志记录,则2.46会生成意外的debug.log文件,在logging.cc的InitLogging()函数中,甚至在调用之前(在函数的最后一行)还有些写日志消息为时过早。事实证明,这是
正常* 的 的Linux 和 Mac的
OS,其中默认的日志目标是它的预期。但是在Windows上,默认日志目标是名为的文件。logging::InitLogging
*
debug.log
因此, ChromeDriver 团队需要
VLOG在调用后将两个调用移至方法末尾
logging::InitLogging。
通过提交可以解决此问题,
ChromeDriver 73.x中* 提供了此修复程序 *
保护chromedriver使用的端口
有没有什么我们可以做端口用法@barancev
提到
ChromeDriver
试图找到一个免费的临时端口使用依赖于系统的临时端口范围探测器。一个临时端口是由当程序请求任何可用的用户端口的操作系统创建一个短命的端点。操作系统从预定义的范围(通常在1024到65535之间)中选择端口号,并在相关的TCP连接终止后释放端口。
默认情况下,系统最多可以创建大约4,000个临时端口,这些端口在Windows Server 2003上同时运行,在Windows Server
2008上同时运行大约16,000个。
解
升级到 ChromeDriver 73.x 将解决此问题。
奥托罗
这些日志消息反映了ChromeDriver-安全注意事项。
ChromeDriver是一个功能强大的工具,它可能在错误的手中造成伤害。使用ChromeDriver时,请遵循以下建议以确保其安全:
- 默认情况下,ChromeDriver仅允许本地连接。如果您需要从远程主机连接到它,请
--whitelisted-ips
在命令行上使用switch来指定允许连接到ChromeDriver的IP地址列表。 - 如果可能,请使用无法访问敏感的本地或网络数据的测试帐户运行ChromeDriver。ChromeDriver绝对不能使用特权帐户运行。
- 如果可能,请在受保护的环境(例如Docker或虚拟机)中运行ChromeDriver。
- 使用防火墙来防止未经授权的远程连接到ChromeDriver。
- 如果您通过Selenium Server等第三方工具使用ChromeDriver,请确保也保护这些工具的网络端口。
- 使用最新版本的ChromeDriver和Chrome。
您可以在此处找到Chrome上受限端口的列表。



