有没有办法限制Node.js电子应用程序只能访问某些网址

时间:2019-02-20 12:29:30

标签: node.js google-chrome electron v8

我正在创建电子内部应用程序。出于安全原因,我要确保不会将偶然的信息上传到其他Web网址。

在电子应用中有什么方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

从Electron文档中:

https://electronjs.org/docs/tutorial/security#12-disable-or-limit-navigation

    const URL = require('url').URL

    app.on('web-contents-created', (event, contents) => {

    contents.on('will-navigate', (event, navigationUrl) => {
      const parsedUrl = new URL(navigationUrl)

      if (parsedUrl.origin !== 'https://my-own-server.com') {
         event.preventDefault()
      }
    })
   })

除了限制导航外,同一页面上还有多项建议:

https://electronjs.org/docs/tutorial/security

您也可以通过以下强大资源进行工作: https://www.blackhat.com/docs/us-17/thursday/us-17-Carettoni-Electronegativity-A-Study-Of-Electron-Security-wp.pdf

一些有趣的技术包括在会话上使用setPermissionRequestHandler来设置防止打开外部链接的回调。