从HTTP头上的休息服务返回错误消息是否安全?

时间:2015-11-04 07:21:30

标签: java api rest http

我知道响应消息应该在响应主体上,因为HTTP状态应该足以告诉客户端她做错了什么或服务器上是否还有其他错误。

但是,如果错误消息在标题上返回(例如,创建新标题“错误”并将错误消息放在其上),我的任何已知的特定安全问题都会出现。

3 个答案:

答案 0 :(得分:2)

这取决于您发送的错误消息的类型。

希望错误消息是一般消息,如" Invalid Input ABC"并且不提供任何代码级别信息,例如" XYZServiceImpl"中出现异常。

只要错误消息是通用的,就没有什么可担心的安全性了。

答案 1 :(得分:1)

与将相同的错误消息嵌入正文相比,它不会创建或删除任何安全风险。 HTTPS加密所有响应,包括标题,并且任何下降的破解者都会读取你的标题没有任何问题。

您向REST调用者谈论错误的次数越少越好。在服务器端记录更多。

答案 2 :(得分:1)

您可以这样做 - 在标题中返回错误消息。

但是,你应该做类似的事情。

Unauthorized access  - header HttpStatus-401 response body- your message
Invalid params       - header HttpStatus-400 response body- your message 

和明智的一样

我不认为在响应正文或标题中发送消息有任何问题,或者它会产生任何不同。