长话短说,我有几个客户想在他们的网站上管理一些东西,所有网站都是用nodejs
.
我为这些网站构建了一个小型 CMS。
请记住,我的网站都没有 https,这是我想要发生的事情:
- 客户访问我的网站并提交包含他的密码和用户名的表单
- 我 http将他的凭据发布到他的网站
- 如果凭据正常,他的网站返回一个 json 为OK 200
问题:
- 这是最好的方法吗?
- 我应该使用什么加密方法?
长话短说,我有几个客户想在他们的网站上管理一些东西,所有网站都是用nodejs
.
我为这些网站构建了一个小型 CMS。
请记住,我的网站都没有 https,这是我想要发生的事情:
问题:
不,这不是最好的方法。您永远不应该通过 http 进行身份验证,而且您绝对不应该在服务器和客户端之间进行自己的加密。请考虑使用 SSL。您可以获得支持子域和多个网站的通配符 SSL 证书,例如:x.example.com y.example.com z.example.com
这是一个反复出现的问题,答案将始终是使用已建立的技术和算法,而不是重新发明轮子并可能引入您自己的安全漏洞。
请参阅这篇关于 javascript 密码学的文章以及为什么不这样做。
但是,当您将网站包裹在 SSL 中时,您可以使用您解释的方法,然后它将是安全的。