首页 > 解决方案 > 如何建立完全安全的登录:我需要 SSL 吗?

问题描述

语境

我正在构建一个项目以更好地了解登录/安全性,而 SSL 真的让我感到困惑。到目前为止,我有一个前端 (vue.js)、一个 API (node/express) 和一个数据库 (postgreSQL)。

这是一般的身份验证流程:

问题)

到目前为止,我认为除了第一步之外,以上所有都是最佳实践。从阅读中,到目前为止,我已经完成了客​​户端需要 SSL 来安全地向 API 发送密码。是这样吗?我的服务器是否也需要是 SSL 或只是客户端/主机?

我最终将尝试将 firebase 托管(自动为 SSL)用于前端,将 heroku 用于 API 和数据库。如果有更安全的选择,我愿意接受建议。

另外,总的来说,我对所有这些安全性东西都是新手-如果我遗漏了任何东西或者其他东西不安全,我会喜欢这个建议!

标签: node.jsfirebasesecuritysslheroku

解决方案


SSL 在两点之间创建安全连接。在我们的客户端和服务器之间的场景中。经过一些初始协商后,客户端以只有服务器可以解密的方式对其消息进行加密。服务器对其答案或自己的问题也是如此。通过在这两个端点之间使用 SSL,除了客户端和服务器之外,没有人可以读取消息。

这很重要,因为在客户端和服务器之间发送的消息实际上被中间的更多机器/进程看到。因此,数十个其他进程可以看到该消息,如果该消息未加密,则意味着所有这些进程都可以确切地知道消息中的内容。当客户端和服务器通过 SSL 进行通信时,其他进程仍然可以看到这些消息,但它们无法解密它们。

对于您的具体问题:客户端打开与服务器的安全连接。客户端和服务器都需要支持这一点。如果您编写自定义服务器,这意味着您需要确保它具有 SSL 证书。这些天免费获得这些的一个非常常见的地方是letsencrypt.org


推荐阅读