在下面的示例中,如果我使用用户名和密码,那么任何人都可以在页面源中看到它。有什么解决方案可以隐藏用户名和密码,或者我们可以将凭据放入json
或xml
文件中并访问它以将其设置在标题中,如果可以,请告诉我们解决方案。
$.ajax({ type: "POST",
contentType: false,
data: formData,
url: "external domain URL",
crossDomain: true,
cache: false,
processData: false,
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("username" + ":" + "Password"));
xhr.withCredentials = true;
},
答案 0 :(得分:0)
您可以将用户名和密码编码为文本并使用该文本,但这是危险且不可行的,因为如果有人出于某种原因设法对其进行解码,那么这将是一个巨大的安全漏洞。而且,如果服务器接受编码的文本,也将造成安全漏洞,因此,除非使用一些临时令牌,否则应避免这种方法,但这只会减少但不能消除这种风险。
相反,如果您有一个页面,它将可以更好地工作:
此外,您可以将服务器用作代理,即,将所有请求发送到您自己的服务器而不是目标服务器,并且该服务器依次将请求转发到目标服务器并将响应转发给客户端-侧。这样会更好。