Rest 以文本/html内容类型发送登录凭据

Rest 以文本/html内容类型发送登录凭据,rest,security,content-type,Rest,Security,Content Type,我正在使用REST服务进行登录身份验证,该服务希望我以文本/html的形式发送凭据,而如果我以application/x-www-form-urlencoded内容类型发送凭据,则该服务不起作用 以文本形式发送它们是否不太安全?/*我想是这样吧?应用程序/*如何使其更安全 相关:这可能是CSRF保护的一种弱形式。通过application/x-www-form-urlencoded从Javascript进行的跨域调用将按原样发送到服务器,因此攻击者可以通过发送AJAX请求从攻击者的域登录用户。但

我正在使用REST服务进行登录身份验证,该服务希望我以文本/html的形式发送凭据,而如果我以application/x-www-form-urlencoded内容类型发送凭据,则该服务不起作用

以文本形式发送它们是否不太安全?/*我想是这样吧?应用程序/*如何使其更安全


相关:

这可能是CSRF保护的一种弱形式。通过application/x-www-form-urlencoded从Javascript进行的跨域调用将按原样发送到服务器,因此攻击者可以通过发送AJAX请求从攻击者的域登录用户。但是,如果只接受text/html,则此类请求会在跨域时首先触发飞行前选项请求,如果服务器不明确允许使用CORS标头,浏览器将不会发送实际数据

因此,以text/html形式请求凭据的API比application/x-www-form-urlencoded稍微安全一些。除此之外,它对安全性没有多大影响


只是松散相关,但请注意,内容类型在服务器响应中确实具有重要的安全效果。JSON数据不必进行html编码,因为JSON只是一种数据格式,客户端Javascript应用程序可以并且应该决定如何呈现或编码下载的数据。但是,如果数据不是用JSON编码的,则任何JSON数据页(即生成的JSON字符串本身)在以文本/html形式发送时都容易受到XSS的攻击,因为浏览器只会将其呈现为html,并在其中运行任何Javascript。因此,JSON响应应该始终是application/JSON,在这种情况下,浏览器不会将其作为Javascript运行。

这可能是CSRF保护的一种弱形式。通过application/x-www-form-urlencoded从Javascript进行的跨域调用将按原样发送到服务器,因此攻击者可以通过发送AJAX请求从攻击者的域登录用户。但是,如果只接受text/html,则此类请求会在跨域时首先触发飞行前选项请求,如果服务器不明确允许使用CORS标头,浏览器将不会发送实际数据

因此,以text/html形式请求凭据的API比application/x-www-form-urlencoded稍微安全一些。除此之外,它对安全性没有多大影响


只是松散相关,但请注意,内容类型在服务器响应中确实具有重要的安全效果。JSON数据不必进行html编码,因为JSON只是一种数据格式,客户端Javascript应用程序可以并且应该决定如何呈现或编码下载的数据。但是,如果数据不是用JSON编码的,则任何JSON数据页(即生成的JSON字符串本身)在以文本/html形式发送时都容易受到XSS的攻击,因为浏览器只会将其呈现为html,并在其中运行任何Javascript。因此,JSON响应应该始终是application/JSON,在这种情况下,浏览器不会将其作为Javascript运行。

敏感详细信息必须在HTTP头中发送,而不是在HTTP正文中发送。就内容类型而言,更多的是服务的设计和实现。必须在HTTP头中而不是HTTP正文中发送敏感的详细信息。就内容类型而言,更多的是服务的设计和实现。