我有一个Electron应用程序,该程序将用户计算机上安装的本地文件中的第三方代码加载到<webview>
标记中。当前,Web视图能够通过绝对路径(file://...
)或父级引用(../../file.ext
)加载任何本地文件。
出于安全原因,我想将Webview的本地文件访问权限限制为仅访问特定目录(html文件所在的位置)内的文件,并阻止其访问外部任何内容。在Electron中可以做到吗?
答案 0 :(得分:0)
我自己找到了解决方案:如果您使用src
协议引用了webview的file://...
属性中的html,则webview将能够访问所有本地文件。
因此,解决方案不是直接使用file://...
协议指向html,而是应该运行本地Web服务器,该服务器仅提供您希望Web视图可以访问的静态文件。使用src
加载Web视图的http(s)://...
时,Electron将自动将其视为普通网页,从而阻止访问所有本地文件。问题解决了。