html node 传递,node js - 如何安全地将令牌从http get请求传递到html页面?

我正在努力实现自己的自定义密码重置功能,该功能会将用户带到页面的电子邮件重置为重置密码。

到目前为止,我已经生成了一个唯一的令牌,该令牌被放入一个http get请求链接并通过电子邮件发送给用户。

当用户点击链接(示例mywebsite.com/verifypasswordreset?id=96rZyAWLTu)时

我有一条获得令牌的快递路线:

//Verify Password Reset

app.get('/verifypasswordreset', function(req, res) {

Parse.Cloud.run('verifyPasswordReset', { token: req.param("id") }, {

success: function(user) {

res.sendFile(path.join(__dirname + '/website/resetpassword.html'));

},

error: function(error) {

res.sendFile(path.join(__dirname + '/website/404.html'));

}

});

});

然后我运行一个Parse云代码函数来验证令牌是否存在,如果是,它通过发送包含重置密码的表单的html来响应。 (resetpassword.html)

此时resetpassword.html页面的网址仍然包含其中的令牌(mywebsite.com/verifypasswordreset?id=96rZyAWLTu)但是,只要用户提交表单,它就会发送一个http帖子并发布新密码,链接后面的令牌,因此我不知道哪个令牌与密码重置相关联?

//Reset Password

app.post('/resetpassword', function(req, res) {

res.send('You sent the password "' + req.body.password + '".');

});

当用户提交表单以更改其密码时,如何以某种方式从当前URL(mywebsite.com/verifypasswordreset?id=96rZyAWLTu)获取令牌并将其包含在http post请求中,以便我的节点js app可以读取它并知道哪个令牌与密码重置相关联?

或者,他们是一个更好的&更安全的方式来跟踪令牌?

*请注意忽略我正在使用http我将购买SSL证书并在发布前使用https。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值