在POST方式提交表单时,对表单中的数据已经做了hash处理, 比如提交 存入数据库中的password字段也已经加密 但截获的数据,还是明文的POST
req.body.username
req.body.password
req.body.password_repeat
req.body.email
就已经做了POST处理了么?
当启动项目时(node app.js
),第一次注册或者登陆提交时,能正常运行,但第二次注册或者登陆提交时就出现Connection was destroyed by application
的错误,个人感觉是mongodb驱动的问题,不知道该怎么解决。
谢谢~
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来的加密值比较就行~ 不需要明文密码