在公开共享代码的项目中使用API时,保护API密钥至关重要。硬编码API密钥存在安全风险,恶意攻击者可轻易从公共代码库中提取这些密钥。本文介绍如何使用环境变量来有效保护您的API密钥。
步骤一:创建.env文件
在项目根目录下(与/src目录同级)创建一个名为
的文件。此文件用于存储您的API密钥。建议使用全大写字母,并以下划线分隔单词。如果使用React,则密钥名称必须以
开头。例如:
步骤二:访问环境变量
在需要使用API密钥的文件中,使用
对象访问
文件中定义的变量:
这样,您的API密钥就被安全地隐藏起来,不会直接暴露在代码中。
步骤三:将.env添加到.gitignore
Git
程序猿必备版本控制工具
下载
将
文件添加到
文件中,以防止其被提交到版本控制系统:
重要提示:
重新启动服务器:
修改
文件后,请务必重新启动开发服务器,以使更改生效。
前端安全限制:
文件适合开发环境中隐藏密钥。请注意,在构建过程中,React使用的环境变量会被包含在最终的客户端代码中,因此任何检查客户端代码的人都可以访问它们。对于高度敏感的密钥,建议使用后端服务器来处理API请求。
示例用法:
以下是如何在API调用中使用
变量:
总结:
通过使用环境变量,您可以有效地保护您的API密钥,并在共享代码时避免安全风险。 如果您有其他保护API密钥的方法,欢迎分享您的经验!
.envREACT_APP_API_KEY=your_api_key_here
REACT_APP_API_KEY=your_react_api_key_hereprocess.env.envconst apiKey = process.env.REACT_APP_API_KEY;.env.gitignore.env.env.envapiKeyconst fetchData = async () => {
const apiKey = process.env.REACT_APP_API_KEY;
const response = await fetch(`https://api.example.com/data?api_key=${apiKey}`);
const data = await response.json();
console.log(data);
};