1

长话短说,我有几个客户想在他们的网站上管理一些东西,所有网站都是用nodejs.

我为这些网站构建了一个小型 CMS。

请记住,我的网站都没有 https,这是我想要发生的事情:

  • 客户访问我的网站并提交包含他的密码和用户名的表单
  • 我 http他的凭据发布到他的网站
  • 如果凭据正常,他的网站返回一个 json 为OK 200

问题:

  • 这是最好的方法吗?
  • 我应该使用什么加密方法?
4

1 回答 1

0

不,这不是最好的方法。您永远不应该通过 http 进行身份验证,而且您绝对不应该在服务器和客户端之间进行自己的加密。请考虑使用 SSL。您可以获得支持子域和多个网站的通配符 SSL 证书,例如:x.example.com y.example.com z.example.com

这是一个反复出现的问题,答案将始终是使用已建立的技术和算法,而不是重新发明轮子并可能引入您自己的安全漏洞。

请参阅这篇关于 javascript 密码学的文章以及为什么不这样做。

但是,当您将网站包裹在 SSL 中时,您可以使用您解释的方法,然后它将是安全的。

于 2013-03-25T10:54:45.533 回答