You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Next.js中,将API密钥放入.env.local并在getStaticProps中引用是否安全?

Next.js中.env.local敏感信息的安全性说明

你的理解是正确的——存放在.env.local里的敏感信息,只要是在getStaticProps或getServerSideProps中使用,就绝对不会被浏览器获取到,具体原因如下:

  • 运行环境完全隔离:getStaticProps和getServerSideProps都是纯服务器端执行的函数。getStaticProps在项目构建阶段(npm run build)于服务器端运行,最终生成的静态页面中不会包含函数内部的代码或环境变量;getServerSideProps则在每次用户发起请求时于服务器端执行,返回给浏览器的仅仅是处理完成的页面数据,而非函数本身的代码或敏感变量。

  • .env.local文件的访问限制:该文件仅存在于你的本地开发环境或部署服务器的文件系统中,浏览器无法直接访问服务器的文件系统,因此根本无法获取到文件内的内容。再加上你已将其加入.gitignore,它不会被提交到代码仓库,进一步杜绝了外部泄露的风险。

  • 环境变量的区分规则:需要注意Next.js的环境变量机制——只有前缀为NEXT_PUBLIC_的变量会被暴露至客户端。因此,你的敏感信息(如API Key/Secret)绝对不能使用这个前缀,确保它们仅在服务器端代码(包括getStaticProps/getServerSideProps)中可用,不会被打包进客户端代码。


内容的提问来源于stack exchange,提问作者RockyStrongo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 18:01:18