Express 的两个问题,初学者请教
发布于 9 年前 作者 Xarrow 5347 次浏览 最后一次编辑是 8 年前 来自 问答

在POST方式提交表单时,对表单中的数据已经做了hash处理, 比如提交 QQ截图20150608171848.png QQ截图20150608171653.png 存入数据库中的password字段也已经加密 QQ截图20150608171810.png 但截获的数据,还是明文的POST QQ截图20150608171454.png

req.body.username
req.body.password
req.body.password_repeat
req.body.email

就已经做了POST处理了么?

当启动项目时(node app.js),第一次注册或者登陆提交时,能正常运行,但第二次注册或者登陆提交时就出现Connection was destroyed by application的错误,个人感觉是mongodb驱动的问题,不知道该怎么解决。

谢谢~

14 回复

http传输的是明文,你的这些加密处理是在客户端传输到服务器后进行的 第二个问题的原因是在你进行mongo操作时连接是已经关闭的,至于为什么是关闭的,可能需要你贴出代码来看一下

@tashuo 谢谢回复~ 第一个问题,那怎么样在客户端做加密处理呢?还是在客户端用JS第三方的库加密再传给服务器端? 第二个问题,检查了代码,发现多了个db.close();

谢谢~

不好意思我对客户端加密这方面不太了解,可以试一下https

客户端你最简单的话也可以has 自豪地采用 CNodeJS ionic

@xiaokekeT 可以解释下么?

@Xarrow 你不是要客户端加密吗 找个加密库,把username password加密 在post不就行了吗

@xiaokekeT 谢谢 已经解决~

客户端加密得上https吧。前端用js加密是白忙活

首先要分清楚前后端啊,你代码加密写在服务端,post的是明文很正常啊,要不你就弄个js的md5加密,post的时候加一下,这样服务端就不用再加一次了。

使用https吧。。。。。。。另外密码的签名后最好加盐

@tianxiangbing 客户端和服务器端都加密了,是不是丧心病狂?

@tashuo 粗暴简单,文档直接就加密了

md5 是单向的吧。推不回去。

@leapon 数据库里面的md5值和POST来的加密值比较就行~ 不需要明文密码

回到顶部