API 密钥安全警告 :暴露的 API 密钥可能导致未经授权的使用、配额耗尽和意外费用。在生产应用中始终保护您的密钥。
为什么密钥保护很重要
当您在客户端暴露 API 密钥时,恶意行为者可能会发现并滥用它们,可能会:
耗尽您的配额 恶意使用可能会迅速消耗您的 API 限制并导致服务中断
增加您的账单 未经授权的请求可能会触发自动扩展费用或超出计划限制
损害性能 高度未经授权的使用可能会影响您的应用程序性能
保护方法
Helius 提供多层保护以确保您的 API 密钥安全:
部署您自己的代理以实现最大安全性和控制。
Helius RPC 代理 一个简单的开源 RPC 代理,您可以一键部署到 Cloudflare。
使用代理的好处
完整的密钥保护 您的 API 密钥保持在服务器端,永不暴露给客户端
请求过滤 在请求到达 Helius 之前进行过滤和验证
在您的 Helius 仪表板中配置精确的访问控制以限制 API 使用。 可用的规则类型
限制对特定域的访问 - 非常适合 Web 应用程序。 用例:
生产网站 (yourdapp.com)
预发布环境 (staging.yourdapp.com)
预览部署 (preview.yourdapp.com)
示例配置: yourdapp.com
www.yourdapp.com
staging.yourdapp.com
限制对特定 IP 地址的访问 - 理想用于服务器应用程序。 用例:
具有静态IP的后端服务器
CI/CD管道
云托管服务
示例配置: 203.0.113.1
198.51.100.42
185.199.108.153
这里只能使用公共IP地址。私有/本地IP(如192.168.x.x或10.x.x.x)将无法使用。
使用 CIDR 表示法限制对 IP 范围的访问 - 非常适合企业网络。 用例:
企业公共IP范围
云提供商IP范围
数据中心IP块
示例配置: 203.0.113.0/24
198.51.100.0/24
185.199.108.0/22
这里只能使用公共IP范围。私有CIDR块(192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12)将无法使用。
使用我们的安全 URL 进行前端应用程序,而不暴露您的 API 密钥。 速率限制 :安全URL每个IP地址限制为每秒5个请求(RPS),非常适合前端应用程序。
如何使用安全 URL
获取您的安全URL
在Helius仪表板的RPC部分找到您的安全URL
替换您的常规RPC URL
使用安全URL替换您的常规RPC URL和API密钥
// Instead of this (exposes API key):
const connection = new Connection ( 'https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY' );
// Use this (secure, no API key exposed):
const connection = new Connection ( 'https://your-secure-url.helius-rpc.com' );
非常适合 :前端应用程序、移动应用程序以及任何无法隐藏 API 密钥的客户端代码。
最佳实践
环境变量 切勿在源代码中硬编码API密钥。请改用环境变量。 // ❌ Don't do this
const apiKey = "your-api-key-here" ;
// ✅ Do this instead
const apiKey = process . env . HELIUS_API_KEY ;
不同环境的独立密钥 为开发、预发布和生产环境使用不同的API密钥。 const getApiKey = () => {
switch ( process . env . NODE_ENV ) {
case 'production' :
return process . env . HELIUS_API_KEY_PROD ;
case 'staging' :
return process . env . HELIUS_API_KEY_STAGING ;
default :
return process . env . HELIUS_API_KEY_DEV ;
}
};
定期密钥轮换 定期轮换您的API密钥,如果怀疑密钥已泄露,请立即更换。
生成新密钥
在您的Helius仪表板中创建一个新的API密钥
监控使用情况 定期在Helius仪表板中检查您的API使用情况,以发现异常模式。 需要注意的警示信号:
使用量突然激增
来自意外位置的请求
高错误率
非工作时间的使用
安全检查清单
常见错误避免
避免这些常见的安全陷阱:
在前端JavaScript中硬编码密钥 - 始终使用安全的URL或代理
将密钥提交到Git仓库 - 使用环境变量和.gitignore
在开发中使用生产密钥 - 为不同环境分配不同的密钥
未设置访问控制规则 - 始终配置域名/IP限制
忽视异常使用模式 - 定期监控您的仪表板
需要帮助?