0

如您所知,对于 Basic HTTP 身份验证,在 Authorization Header 中,Base64用于对字符串进行编码;

username:password 

我不知道为什么 HTTP 真的期望这个,但我的问题是在我的 Rest web 服务中。如果我使用自定义HTTP 标头来保存 userid:token 对,那么使用Base64 是否安全?我可以按原样发送纯文本吗?

注意:我使用 HTTPS,这不是安全问题

4

2 回答 2

5

不使用 Base64 是否安全?

如果您不对它们进行 base64 编码,则用户名或密码中的文本字符之一可能不是有效的 HTTP 标头字符。您需要研究HTTP RFC以确保这对您的应用程序来说不是问题。

例如,您的应用程序是否允许密码中有空格?像这样的东西...

或者您可以只对用户名/密码进行 base64 编码,并且知道您可以安全地避免违反 HTTP 协议。

于 2013-01-03T15:44:22.430 回答
2

如果您使用自定义标头,可以根据需要以纯文本形式发送它们。

但是,如果您坚持使用 Basic HTTP 协议,您将能够在测试中使用标准工具,并且客户端无需手动添加额外代码来添加标头,因此我建议尽可能不要滚动您自己的标头。

于 2013-01-03T15:29:44.547 回答