私はchromedriver実行すると通常、私はいつも私がchromedriverを実行するときに、誰もが取得確信している。この出力を取得します。これは、全体の出力が、specif文についてではありません。
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
タイトルとして言うと、出力は私が常に取得します。どのように私は必ずChromeDriverのみ保護されたポートを使用しているポートのことをするのですか?
このINFOメッセージ...
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
...で誘導してしまったバグの結果であったChromeDriver v2.46
分析
議論あたりとして冗長ログが有効になっている場合、2.46は、予期しないDEBUG.LOGファイルを生成中に、InitLogging()の機能logging.ccいくつかのログメッセージが早すぎる前にも書かれていたlogging::InitLogging
(関数の最後の行で)と呼ばれています。これがあることが判明OK上のLinuxとMacのことが予想される場合、デフォルトのログ先であるOS、。しかし、Windows上で、デフォルトのログの宛先は、名前のファイルですdebug.log
。
だから、ChromeDriverのチームが2つの削除するために必要なVLOG
呼び出した後に、メソッドの最後の呼び出しをlogging::InitLogging
。
この問題は解決されたコミットおよび修正が内で使用可能だったChromeDriver 73.x
chromedriver使用することをポートを保護
@barancevのように多くの私たちは、ポートの使用についてできることは何もありません言及 ChromeDriverの自由を見つけるための試みエフェメラルポートをシステム依存のエフェメラルポート範囲検出器を使用しては。一時的なポートは、プログラムが使用可能な任意のユーザーポートを要求し、オペレーティング・システムによって作成された短命のエンドポイントです。オペレーティング・システムは、典型的には、1024と65535の間の所定の範囲からポート番号を選択し、関連するTCP接続が終了した後にポートを解放します。
デフォルトでは、システムは、Windows Server 2003と約16,000のWindows Server 2008上で上で同時に実行約4,000エフェメラルポートの最大を作成することができます。
解決
アップグレードChromeDriver 73.xは、この問題を解決します。
他の
これらのログメッセージは、の反射したセキュリティの考慮- ChromeDriver。
ChromeDriverは強力なツールであり、それは間違った手に害を引き起こす可能性があります。ChromeDriverを使用している間、それを安全に保つために、これらの提案に従ってください。
- デフォルトでは、ChromeDriverは、ローカル接続のみを許可します。あなたは、リモートホストから接続する必要がある場合は、使用する
--whitelisted-ips
コマンドラインでスイッチがChromeDriverへの接続を許可するIPアドレスのリストを指定します。 - 可能な場合は、大文字と小文字が区別されるローカルまたはネットワークのデータにアクセスできないテストアカウントでChromeDriverを実行します。ChromeDriverは、特権アカウントで実行すべきではありません。
- 可能ならば、そのようなドッカーまたは仮想マシンとして保護された環境でChromeDriverを実行します。
- ChromeDriverへの不正なリモート接続を防ぐためにファイアウォールを使用します。
- あなたは、このようなセレンServerなどのサードパーティ製のツールを通じてChromeDriverを使用している場合は、うまくとしてこれらのツールのネットワーク・ポートを保護するようにしてください。
- ChromeDriverとChromeの最新バージョンを使用してください。
あなたはクロームに制限されたポートのリストを見つけることができるここに。