带有用户名和密码 ionic 4 的 Http get 请求
Http get request with username and password ionic 4
我正在尝试从我的 ionic 4 项目中获取请求,但我需要为此使用用户名和密码,否则我会收到错误 403
这是我的代码:
constructor(public httpClient: HttpClient){
this.items = this.httpClient.get('http://www.fostania.com/api/items/');
this.items.subscribe(data => {
console.log('my data: ', data);
})
}
我应该在哪里添加用户名和密码??
更新
尝试像'http://username:password@www.fostania.com/api/items/'
那样做
但还是报错
HttpErrorResponse {headers: HttpHeaders, status: 403, statusText: "Forbidden", url: "http://www.fostania.com/api/items/", ok: false, …}
首先,如果您想在 it.There 上包含请求正文,我不建议您使用 GET 请求可能是一些解决方法,但它可能违反标准做法。您应该改用 POST 请求。
接下来,如果您要通过 API 请求发送敏感信息(例如密码),那么通过 HTTP 发送纯文本密码肯定违反安全协议。由于 TLS/SSL 加密,您应该改用 HTTPS。
改用这个:
getData() {
.
.
.
return `this.httpClient.post('https://www.fostania.com/api/items/', requestBody, httpOptions)
.pipe(
tap(data => console.log(data))
);`
}
并且在您的服务器端,您将可以实现您的后端逻辑,并且 return 是适当的。响应正文到前端。
我不是信息安全方面的专家,但之前看过一些通过HTTPS发送密码的做法,如果确实是100%安全的话。事实证明,在某些情况下,攻击者仍然可以绕过这些协议。因此,一些 organisations/software 团队可能会对密码进行散列或加盐处理,而不是在请求正文中传输实际密码。您可能想了解更多相关信息 here! (致谢:@user3299591)
我正在尝试从我的 ionic 4 项目中获取请求,但我需要为此使用用户名和密码,否则我会收到错误 403
这是我的代码:
constructor(public httpClient: HttpClient){
this.items = this.httpClient.get('http://www.fostania.com/api/items/');
this.items.subscribe(data => {
console.log('my data: ', data);
})
}
我应该在哪里添加用户名和密码??
更新
尝试像'http://username:password@www.fostania.com/api/items/'
但还是报错
HttpErrorResponse {headers: HttpHeaders, status: 403, statusText: "Forbidden", url: "http://www.fostania.com/api/items/", ok: false, …}
首先,如果您想在 it.There 上包含请求正文,我不建议您使用 GET 请求可能是一些解决方法,但它可能违反标准做法。您应该改用 POST 请求。
接下来,如果您要通过 API 请求发送敏感信息(例如密码),那么通过 HTTP 发送纯文本密码肯定违反安全协议。由于 TLS/SSL 加密,您应该改用 HTTPS。
改用这个:
getData() {
.
.
.
return `this.httpClient.post('https://www.fostania.com/api/items/', requestBody, httpOptions)
.pipe(
tap(data => console.log(data))
);`
}
并且在您的服务器端,您将可以实现您的后端逻辑,并且 return 是适当的。响应正文到前端。
我不是信息安全方面的专家,但之前看过一些通过HTTPS发送密码的做法,如果确实是100%安全的话。事实证明,在某些情况下,攻击者仍然可以绕过这些协议。因此,一些 organisations/software 团队可能会对密码进行散列或加盐处理,而不是在请求正文中传输实际密码。您可能想了解更多相关信息 here! (致谢:@user3299591)