Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我有一个域:https://somedomain.example使用有效的 SSL 证书,我是否必须采取任何其他预防措施来加密客户端和我的服务器之间的数据,或者我现在唯一关心的是通过我的 MySQL 数据库中的一些 AES 加密来保护服务器上的数据。
https://somedomain.example
本质上,我是否将客户端和服务器之间的所有安全性都留给 SSL,例如 Facebook 和 Google 就是这样做的吗?
只需使用 SSL 即可处理所有加密,因此数据在传输过程中将受到保护。
XSS和CSRF的认证、授权和防御需要分别处理。(尽管您可以使用 SSL 客户端证书进行身份验证)。
XSS 是需要特别注意的,如果攻击者可以将 JS 注入页面,那么它可以访问浏览器中未加密的数据(与传输时不同)。
这可能不是您的意思,但即使使用 SSL,在数据库中使用密码盐也是一个好主意。您没有充分的理由将纯文本密码存储在数据库中。即使存储在您的服务器上的数据并不是那么敏感,因为如果您的数据库遭到破坏,用户通常会跨站点使用相同的密码,您可能会将密码泄露给他们的网上银行等严肃的事情。
就个人而言,我更喜欢更进一步,并在加盐密码的基础上实施挑战响应方案。这很容易实现,这样我的服务器很少会看到用户的实际密码,除了在注册期间。在我看来,我的服务器知道的越少越好。