0

我正在开发一个前端在 javascript (backbone) 和后端在 codeigniter(php) 中的应用程序。我想要一种方法,我可以使用密钥在后端加密消息并使用相同的密钥从 javascript 解密该消息。基本上我需要这个流程来进行用户身份验证。

结果是运气不好,因为我无法在互联网上找到这样的组合。这个工作流程可以使用什么方式?

谢谢

4

1 回答 1

0

使用 HTTPS 几乎是唯一有意义的答案。依赖 Javascript 加密是不好的,因为恶意用户可以做各种令人讨厌的事情来注入脚本,从而使您的前端以明文形式发送密码,或者将密码发送到攻击者控制的服务器。

HTTPS 和 SSL/TLS 存在问题,但它是保护 Web 应用程序通信通道的标准机制。它已被该领域的专家广泛审查,并已针对各种故障模式和攻击场景进行了保护。

例如:在您的评论中听起来您将使用单个静态密钥进行加密。由于您需要将密钥发送给客户端,您将如何安全地执行此操作?是什么阻止了用户通过访问您的登录页面合法地获取密钥,然后使用它来解密任何其他用户的通信?当使用一个密钥发送了足够多的消息时,您移动到新密钥的机制是什么?

HTTPS 涵盖了这些类型的场景。如果你用你的 webapp 做一些“真实的”事情,你可能需要为证书支付几美元(现在真的只有几美元),但这确实是要走的路。

于 2013-02-13T16:53:07.877 回答