如何在Visual Studio的.http文件中安全存储变量值?
在Visual Studio的.http文件中安全存储用户名和密码的方案
下面是几种能避免敏感信息被提交到源代码控制系统的实用方法:
方法一:使用系统/用户环境变量
Visual Studio的.http文件支持直接引用系统或用户级环境变量,敏感信息完全脱离代码文件:
- 在系统或用户环境变量中添加
AUTH_USERNAME和AUTH_PASSWORD,对应你的登录凭据 - 修改.http文件如下:
@MyAuth.Auth_HostAddress = http://localhost:5085 POST {{MyAuth.Auth_HostAddress}}/api/v1/auth/login Content-Type: application/json { "username": "{{$env:AUTH_USERNAME}}", "password": "{{$env:AUTH_PASSWORD}}" }
{{$env:变量名}}是VS.http文件引用环境变量的标准语法,凭据不会出现在代码文件中,自然不会被提交。
方法二:使用用户级本地变量文件
创建仅在本地生效的变量文件,将其排除在源码控制之外:
- 在你的用户目录下创建
%USERPROFILE%\.http\variables.json(Windows)或~/.http/variables.json(Mac/Linux),内容如下:
{ "AUTH_USERNAME": "你的用户名", "AUTH_PASSWORD": "你的密码" }
- 在.http文件中直接引用这些变量:
@MyAuth.Auth_HostAddress = http://localhost:5085 POST {{MyAuth.Auth_HostAddress}}/api/v1/auth/login Content-Type: application/json { "username": "{{AUTH_USERNAME}}", "password": "{{AUTH_PASSWORD}}" }
这个变量文件是本地专属的,默认不会被加入源代码控制,无需额外配置忽略规则。
方法三:使用本地凭据文件+源码忽略
如果需要在项目内管理凭据文件,可通过.gitignore确保其不被提交:
- 在项目目录下创建
auth-credentials.env文件,内容如下:
@AUTH_USERNAME = 你的用户名 @AUTH_PASSWORD = 你的密码
- 在项目的
.gitignore文件中添加一行:auth-credentials.env,确保该文件不会被Git追踪 - 在主.http文件开头引入这个凭据文件:
# @import "auth-credentials.env" @MyAuth.Auth_HostAddress = http://localhost:5085 POST {{MyAuth.Auth_HostAddress}}/api/v1/auth/login Content-Type: application/json { "username": "{{AUTH_USERNAME}}", "password": "{{AUTH_PASSWORD}}" }
注意事项
- 绝对不要将用户名、密码硬编码到会被提交的.http文件中
- 确保本地凭据文件或环境变量的系统权限设置正确,防止其他用户读取敏感信息
- 团队协作时,只共享配置模板,让每个成员自行设置本地凭据
内容的提问来源于stack exchange,提问作者Rizan Zaky
相关产品推荐
相关产品推荐

