vue.js - 如何使用 Nuxt 保护 API key 并进行验证

标签 vue.js vuejs2 middleware nuxt.js api-key

我正在使用 Nuxt(与 SSR/PWA/Vuejs/Node.js/Vuex/Firestore),并且希望了解以下内容的总体思路或示例:

  1. 如何确保 API key 的安全。例如调用MailChimp API
  2. 我不知道如果实现了一个糟糕的解决方案,黑客会如何看待这一点。我如何验证他们无法访问它?

我发现了许多建议使用环境变量的“解决方案”,但对于每个解决方案,都有人表示它不安全。请参阅:

https://github.com/nuxt-community/dotenv-module/issues/7

https://github.com/nuxt/nuxt.js/issues/2033

也许服务器中间件就是答案? https://blog.lichter.io/posts/sending-emails-through-nuxtjshttps://www.youtube.com/watch?v=j-3RwvWZoaU (@11:30)。我只需要在输入邮件黑猩猩帐户后添加一封电子邮件,这似乎是一个很大的开销。

此外,我发现我已经将 Firestore api key 存储为环境变量。这安全吗?当我打开 chrome 开发工具 -> 源 -> 页面 -> app.js 时,我可以看到 api key 就在那里(仅在开发模式下测试)!

最佳答案

您可以使用服务器中间件或 https://github.com/nuxt-community/separate-env-module

中间件本身不起作用,因为它也可以在客户端上执行,并且中间件中使用的代码将在客户端上可用

对于#2,您可以检查它是否包含在客户端 js 源中。黑客还有更多其他方式来获取任何东西,例如xss,但是它的一般性东西和你的代码没有太大关系。

关于vue.js - 如何使用 Nuxt 保护 API key 并进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53679843/

相关文章:

vue.js - 使用 vue-cli 构建深度嵌套的 html 需要永远

javascript - 是否可以在生命周期内(beforeCreate)导入 vue 组件文件?

reactjs - React App-createProxyMiddleware不是函数

Laravel Middleware -> 获取登录用户

vue.js - v-for : Array element and destructuring of properties

webpack - 如何让 Flow 与 Vue 2 (webpack) 一起正常工作?

javascript - 过滤数组内的数据并返回用组过滤的对象

javascript - Vue单元测试报错: vuex requires a Promise polyfill in this browser

node.js - Nodejs 中的中间件管道

c# - Azure 应用服务连接超时问题