当前位置: 首页 > news >正文

佛山高端网站设计如果制作一个自己的网站

佛山高端网站设计,如果制作一个自己的网站,哪里可以发广告,深圳建设银行官方网站背景#xff1a; electron大家平时为了方便使用#xff0c;或是一些网上demo的引导#xff0c;会让渲染进程的业务界面支持直接使用nodejs#xff0c;这种开发方式有一定的安全隐患#xff0c;如果业务界面因为xss之类的漏洞被注入其他代码#xff0c;危害非常大#x…背景 electron大家平时为了方便使用或是一些网上demo的引导会让渲染进程的业务界面支持直接使用nodejs这种开发方式有一定的安全隐患如果业务界面因为xss之类的漏洞被注入其他代码危害非常大属于最高等级的安全问题。那么怎样更好的避免发生这种问题呢 一.禁止渲染进程页面直接使用nodejs,webPreferences这么配置 win new BrowserWindow({webPreferences: {preload:./preload.js,// Warning: Enable nodeIntegration and disable contextIsolation is not secure in production// Consider using contextBridge.exposeInMainWorld// Read more on https://www.electronjs.org/docs/latest/tutorial/context-isolationnodeIntegration: true,//webviewTag: true,contextIsolation: true,//隔离},}); 二.通过preload配置暴露允许使用调用的接口preload配置的配置方式如上代码内容如下例子 import { contextBridge, ipcRenderer } from electroncontextBridge.exposeInMainWorld(electronAPI, {openFile: () ipcRenderer.invoke(dialog:openFile) }) 在渲染进程界面采用window.electronAPI.openFile()方式调用,为了让渲染进程足够安全建议设计这里的接口尽量做到仅暴露必要函数和参数不要直接把诸如electron对象暴露给页面界面这种事情干多了这个安全隔离的意义就会逐渐消失。 渲染进程与preload通讯的另外一种方式通过postmessage举例 preload.js window.onmessage (ev) {ev.data.payload removeLoading removeLoading(); }; 渲染页js postMessage({ payload: removeLoading }, *); 这种方式相比第一种更加安全一点暴露的信息更加隐蔽但使用起来比较麻烦可能需要进一步封装 三其他问答 1.preload.js在跳转到新地址后还会不会存在 答会每次发生跳转preload.js都会重新加载进来跟普通加载js一样所以这个js的变量并非持久化的 2.采用exposeInMainWorld暴露的接口需要注意什么 答exposeInMainWorld暴露的接口是拷贝当前对象的属性并不是真的把属性的引用暴露出来例如暴露的属性是一个 new EventEmitter对象你想在业务界面访问这个属性的on方法是访问不到的。 3.preload跟主进程通讯方式 方式一invoke和handle的组合 //preload.js let a ipcRenderer.invoke(xxx)//main.js ipcMain.handle(xxx, async (){ return 123 })方式二on和send的组合 // 在主进程中. const { ipcMain } require(electron) ipcMain.on(asynchronous-message, (event, arg) {console.log(arg) // prints pingevent.reply(asynchronous-reply, pong) })ipcMain.on(synchronous-message, (event, arg) {console.log(arg) // prints pingevent.returnValue pong }) /在渲染器进程 (网页) 中。 const { ipcRenderer } require(electron) console.log(ipcRenderer.sendSync(synchronous-message, ping)) // prints pongipcRenderer.on(asynchronous-reply, (event, arg) {console.log(arg) // prints pong }) ipcRenderer.send(asynchronous-message, ping)
http://www.zqtcl.cn/news/687103/

相关文章:

  • 网站内部结构优化网页设计网站搭建
  • 杭州公司建设网站网络营销是一种什么营销
  • 事业单位网站建设费科目定西市小企业网站建设
  • 温州网站推广哪家好网站开发所遵循的
  • 没有网站做APP公司logo设计公司logo设计
  • 网站建设在哪个软件下做中国最大的现货交易平台
  • 西宁做网站公司电话加强局网站建设
  • 佛山做企业网站公司做贸易做个外贸网站有必要吗
  • 南昌制作网站的公司wordpress 分享到插件
  • 大型网站怎样做优化PHP站长工具怎么用
  • 响应式模板网站建设营销型网站建设怎么收费
  • 夺宝网站开发全网seo优化电话
  • 宁夏建设工程招标投标信息管理中心网站广告多的网站
  • c 网站做死循环北京响应式的网站设计
  • 手机门户网站建设莱芜雪野湖国际会议中心酒店
  • 男人女人做那事网站vue加wordpress
  • 古色古香 网站模板西安企业黄页网站
  • 上海企业网站怎么建设交互设计网站有哪些
  • 企业网站设计与制作开发一款游戏app需要多少钱
  • 贵阳网站方舟网络北京手机网站制作
  • 烟台小学网站建设做盗版电影网站问题
  • 做网站语言知乎长春财经学院学费多少
  • 大丰有做网站的电子商城网站开发要多少钱
  • 南京建设网站制作手机怎么制作网页
  • 杭州pc网站建设方案网站建设要准备的内容
  • 壶关网站建设中国专利申请网官网
  • 具体的网站建设方案网页程序开发采购
  • 泉州 网站建设苏州网站外包
  • 网站做404页面怎么做网站开发过程的基本环节
  • 做网站是前端还是后端小程序网站模板