我正在开发一个应用程序,它的前端是javascript(主干),后端是codeigniter(php)。我想要一种方法,我可以使用密钥加密后端中的消息,并使用相同的密钥从javascript解密该消息。基本上我需要这个流程进行用户身份验证。
由于我无法通过互联网找到这样的组合,因此它变得艰难。该工作流程可以采用哪种方式?
由于
答案 0 :(得分:0)
使用HTTPS几乎是唯一有意义的答案。依赖于Javascript加密是不好的,因为恶意用户可以做各种令人讨厌的事情来注入脚本以使你的前端以明文形式发送密码,或者将它们发送到由攻击者控制的服务器。
HTTPS和SSL / TLS存在问题,但它是保护Web应用程序通信渠道的标准机制。该领域的专家已对其进行了广泛的审查,并已针对各种故障模式和攻击情形进行了保护。
例如:在您的评论中,您将使用单个静态密钥进行加密。由于您需要将密钥发送给客户端,您将如何安全地执行此操作?什么阻止用户通过访问您的登录页面合法获取密钥,然后使用它来解密任何其他用户的通信?如果使用一个密钥发送了足够的消息,那么移动到新密钥的机制是什么?
HTTPS涵盖了这些场景。如果你正在使用你的webapp做一些“真实的”事情,那么你可能需要花几块钱购买证书(这些天真的只是几块钱),但这真的是要走的路。