Javascript 安全HTTP基本身份验证
我正在连接一些API并使用基本身份验证,如下所示:Javascript 安全HTTP基本身份验证,javascript,node.js,rest,http,basic-authentication,Javascript,Node.js,Rest,Http,Basic Authentication,我正在连接一些API并使用基本身份验证,如下所示: this.jenkins=jenkinsapi.init('https://USERNAME:PASSWORD@this-is-a-jenkins.server.local:8080',{strictSSL:false}) 我担心的是,用户的密码只是以变量或纯文本的形式存在。它位于“private”方法中,但是如果任何人能够查看服务器上的源代码,他们就可以查看用户名和密码 如何在仍然使用http basic auth的情况下使其更安全?看看环境
this.jenkins=jenkinsapi.init('https://USERNAME:PASSWORD@this-is-a-jenkins.server.local:8080',{strictSSL:false})代码>
我担心的是,用户的密码只是以变量或纯文本的形式存在。它位于“private”方法中,但是如果任何人能够查看服务器上的源代码,他们就可以查看用户名和密码
如何在仍然使用http basic auth的情况下使其更安全?看看环境变量
其中ENV_VARIABLE
是在运行应用程序的系统中定义的内容。对于iNtance,在我的Node.js应用程序中,运行在Heroku上,并在Github上公开托管,我使用process.env.MONGOLAB_URI
,而不是包含数据库名称、用户名和密码的SQL类型字符串。由于Heroku的原因,我已经自动配置了这个变量,但我也能够在我的操作系统(本例中是Windows)中本地设置该变量,以便代码也可以在本地运行
还可以查看Jenkins如何使用环境变量。使用配置文件存储用户名/密码,理想情况下,该文件加载在服务器中,而不是在webapp或构建中,因此即使开发人员也不知道产品的用户名/密码。
process.env.ENV_VARIABLE