首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向spring boot restful how服务发送密码

如何向spring boot restful how服务发送密码
EN

Stack Overflow用户
提问于 2017-01-08 06:00:45
回答 3查看 1.1K关注 0票数 1

我是网络服务和安全主题的初学者。我想为登录编写一个spring boot restful web服务。我可以将url作为参数发送,但以同样的方式发送密码是不安全的。那么,向web服务传递密码的方法是什么呢?

正如我在网上读到的,人们提到了散列密码(但据我所知它不够安全)和使用md5等。因为我还是个初学者,它在我的脑海中并没有形成一个清晰的图画。

那么,我应该遵循哪种方式将密码发送到send风格的web服务?

EN

回答 3

Stack Overflow用户

发布于 2017-01-08 12:24:23

要快速启动并运行它,请在POST请求中发送密码,使其在URL中不可见。

通常,在登录期间,密码将发送到服务器,而不是其散列。该网站需要是https,以避免攻击者嗅探密码。

此外,对服务器的所有后续请求都可以使用称为X-Auth-Token的令牌(由服务器提供)。此令牌作为cookie存储在用户的计算机上,并且可以具有会话失效的过期时间。

在服务器端,密码应该以Bcrypt建议的加密方式存储。

除了POST和Hashing之外,还有更多关于web安全的内容。我建议看Rob Winch的(前2) excellent video presentations。他是Spring Security项目的负责人。

好消息是,Spring boot使得这些复杂的解决方案中的许多都很容易配置。查看the same sitethis repo,了解其他类似功能的实现。

票数 3
EN

Stack Overflow用户

发布于 2017-01-08 06:08:28

最常见的方法是使用POST请求,并在有效负载对象中包含用户名和加密密码。因此,在后端,您将使用@RequestBody接收它。

票数 0
EN

Stack Overflow用户

发布于 2017-01-10 09:19:54

如上所述,基本的散列客户端并没有真正的意义,因为客户端无论如何都会知道散列算法,所以实际上不会隐藏任何东西。使用HTTPS可确保没有人可以读取您的wire数据。你可以在维基百科上阅读更多关于HTTPS和公钥/私钥的内容。

您可以将密码放在主体中,也可以将其作为Authorization头部,如"Authorization":"Basic username: password“。(https://en.wikipedia.org/wiki/Basic_access_authentication)。URL通常是不好的,因为人们喜欢将粘贴的URL复制到电子邮件中,等等。

重要的是,这应该换成一个不包含密码的令牌。如果这是一个web应用程序,那么您将存储在HTML5本地存储中或存储为cookie。如果是Android/iOS,他们有办法存储为“首选项”。

我写了一些关于不同令牌和存储它们的方法的信息:https://www.moesif.com/blog/technical/restful-apis/Authorization-on-RESTful-APIs/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41527054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档