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

标签 node.js google-chrome electron v8

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

在 Electron 应用程序中有什么方法可以做到这一点?

最佳答案

从 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

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

关于node.js - 有没有办法限制Node.js Electron 应用程序只能访问某些网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54786431/

相关文章:

electron - 有没有办法在 html 脚本中实现 fs?

android - 当 Android 应用程序的客户端请求创建文档时如何创建 pdf

javascript - 在 Node.js 中保护非幂等后操作不被快速调用?

javascript - XMLHttpRequest.upload.onprogress 不适用于 HTTPS

javascript - 无法为 Jasmine 设置超时

google-chrome - Aria-live 属性在 Chrome 上不起作用

electron - 在基于浏览器的桌面应用程序中捆绑开源谷歌字体

javascript - Yarn Packager 包括文件夹和文件

html - 固定位置在 Google Chrome 中不起作用

css - 修复 IE7 div overflow-y : scroll from hiding contents behind the scrollbar