Jquery 将密码保存在$.ajaxSetup()中是否安全?

Jquery 将密码保存在$.ajaxSetup()中是否安全?,jquery,ajax,Jquery,Ajax,我正在连接一个具有基本身份验证的服务器,并在页面的不同部分执行多个ajax。在ajaxSetup中设置密码是否安全: $.ajaxSetup({ username: _username, password: _password, timeout: this.dmDuration, headers: { "Authorization": 'Basic ' + btoa(_username + ':' + _passw

我正在连接一个具有基本身份验证的服务器,并在页面的不同部分执行多个ajax。在ajaxSetup中设置密码是否安全:

$.ajaxSetup({ 
   username:        _username,
   password:        _password,
   timeout:         this.dmDuration,
   headers: {
      "Authorization": 'Basic ' + btoa(_username + ':' + _password) }
 });

将密码放在客户端绝对不安全

可以被截取,甚至可以像读取请求数据包一样以纯文本形式读取。这不是个聪明的主意。您应该将密码存储在服务器端

即使请求是针对第三方产品的,也应在服务器端代码中保护密码,并且向第三方的请求应通过服务器端的安全连接进行。这样,只有编写代码的开发人员才知道密码,最终用户或黑客永远无法看到密码,也可能无法分发密码

如果您正在向第三方写入数据,则编写ajax设置以向服务器端函数发送请求。这个包含密码的服务器端函数随后将向服务器发送一个安全请求,而不会看到密码

如果要在本地进行ajax调用,可能需要授权调用。您应该首先对用户服务器端进行身份验证,并在成功后为用户开发一个安全会话和一个加密唯一的反CSRF令牌。从那时起,每个调用都应该由经过身份验证的用户进行,但任何ajax调用都必须传递CSRF令牌,以确保调用实际上是由用户提交的,而不是来自潜在的CSRF攻击。

不,这不安全

大多数服务端平台都允许您定义会话(通常会向客户端提供会话令牌,并使用cookie传回)。一旦打开会话,下次通话就不需要密码了


例如,在.net中,您可以使用aware服务。

您正在对自己的服务器或第三方服务器进行ajax调用?@SankalpBhatt,即使是对第三方。请求应该在服务器端进行,密码由编译代码保护,连接通过https进行。在任何情况下都不要在客户端放置密码@尼克:是的!您是正确的,但您没有提供问题的解决方案。我想为他提供一个更好的解决方案。