Chrome扩展和服务器之间的安全通信

时间:2016-06-21 13:40:23

标签: javascript google-chrome security google-chrome-extension

我正在构建Chrome扩展程序,其功能之一是联系我的服务器以在其上存储消息。只知道用户可以做到。

我的问题是,我这样做的方式并不安全。我的服务器上有一个数据库,用于存储用户名和加密密码。

要向我的服务器发送消息,用户每次都必须写入密码,扩展程序不会记住它。如果我使用XMLHttpRequest来联系我的服务器,我有两个选择。 我可以发送:

myServerDomain + '?message=' + myMessage + '&user=' + myUserName  + '&password=' + myPassword

加密我服务器上的密码以检查它是否是好的。

或者我可以发送:

myServerDomain + '?message=' + myMessage + '&user=' + myUserName  + '&password=' + myPasswordEncrypted

如果myPasswordEncrypted与保存的匹配,请直接检查我的服务器。

但是对于这两种方式,我只需要访问用户的计算机,检查谷歌浏览器窗口转到控制台然后网络请求获取myPasswordEncrypted或myPassword,然后发送我自己的修改过的请求。

我如何保护它?

1 个答案:

答案 0 :(得分:1)

如果密码在没有加密的情况下进入您的服务器,那么您做错了。您必须做的第一件事是确保密码是通过HTTPS发送的。之后,您可以在服务器上散列它。在客户端上散列它几乎是毫无意义的,它是一种可笑的简单方法来规避。 See here for more details