有人知道我在哪里可以找到描述CefSharp.BrowserSubprocess.exe实际使用的端口和协议的文档(或实际来源)吗?加载CefSharp嵌入式浏览器时,将显示Windows提示权限对话框。这个防火墙提示是相当可怕的,如果我们的安装程序自动创建规则会更好。但我只想打开需要的东西。
我看到,在提示用户时创建的规则基本上打开了通过任何端口通过TCP和UDP进行的所有通信。但是,似乎唯一需要的通信是在同一个框中的主exe和CefSharp.BrowserSubprocess之间。(为什么要打开任何外部端口?)
然而,有趣的是,即使您的不允许创建防火墙规则,嵌入的浏览器似乎也能工作-并且子进程仍然被启动,并且看起来运行正常(通过在任务管理器中观察)。
我在这里发布了这个问题:https://github.com/cefsharp/CefSharp/issues/3075,并在这里被引用:https://magpcss.org/ceforum/index.php,但是我关于这个主题的问题被新闻组管理员拒绝了。
我还试着构建和运行CefSharp代码(特别是CefSharp.Wpf.Example
),但是应用程序在加载时崩溃了。我想我需要更多地调试这个。查看源代码,我很难确定TCP或UDP套接字侦听代码实际上是在哪里调用的。
总之,我试图避免这个提示(通过在安装时添加防火墙条目),但是我不想因为打开的太多而带来更多的风险。
关于这一点,如果默认行为是为其任务是执行代码的进程打开外部端口,则这似乎是一个潜在的安全问题。也许这在某种程度上抵消了铬网络服务进程隔离的安全目标?
发布于 2020-09-14 15:54:15
基于@amaitland的指导,我们找到了两种可能的解决方案:
在安装时(具有管理员权限),为绑定到带有UDP端口5353的work的mDNS创建防火墙条目。
mDNS
使用:settings.CefCommandLineArgs.Add("disable-features", "WebRtcHideLocalIpsWithMdns");
<- -此解决方案没有使用https://stackoverflow.com/questions/63758451
复制相似问题