Node学习(九)061-管理系统之登录和注册——md5加密 & 前端注册成功跳转登录页 & 前端登录成功跳转首页 & node服务器之post接口写法
八、登录和注册
md5加密官网——https://www.cmd5.com/
登录页效果
8.1 设计用户表
用户名不能重复,所以username字段加入一个唯一索引:
效果图
1
2
解密
解密失败
8.2 完成注册
效果页
前端
注册成功
前端代码:
<!-- 导入md5 --> <script src="./lib/md5/md5.min.js"></script> <script> // $('.register').click(function () {
// 获取到账号和密码 // console.log($('form').serialize()); //字符串 username=lisi&password=123 // console.log($('form').serializeArray()); // 数组[{name: 'username', value: 'zhangsan'}, {name: 'password', value: '123'}] // console.log(md5('abc' +md5('123')));密码加盐或md5套md5,不易激活成功教程 var data = $('form').serializeArray(); // 修改data中的密码为加密的密码 data[1].value = md5(data[1].value); // console.log(md5('abc' + '123')); // console.log(data); // 发送ajax请求,完成注册即可 $.post('/reg', data, function (res) {
// 预定服务器返回的格式: {code: 200, message: '注册成功'} alert(res.message); if (res.code === 200) {
// 注册完毕,跳转到登录页 location.href = '/login.html'; } }, 'json'); }); </script>
服务端的接口:
// 6. 完成注册(接收提交过来的账号和密码,然后添加到数据库即可) app.post('/reg', (req, res) => {
console.log(req.body); // 写SQL,完成注册 let sql = 'insert into user set ?'; // let values = {
// username: '' // } db(sql, req.body, (err, data) => {
if (err) {
// 如果提示注册不成功,就 throw err res.send({
code: 201, message: '注册失败'}); } else {
res.send({
code: 200, message: '注册成功'}); } }); });
注册成功
执行 git add .
和 git commit -m '完成注册'
8.3 完成登录
前端登录页
登录成功
登录失败
login.html 前端代码:
- 密码还是要使用加密的密码
- 收集表单数据的时候,验证码也收集到了
<!-- 导入md5 --> <script src="./lib/md5/md5.min.js"></script> <script> // 完成登录 $('.login').click(function (e) {
e.preventDefault(); var data = $('form').serializeArray(); // 还要对密码进行加密 data[1].value = md5(data[1].value); // console.log(data); $.post('/login', data, function (res) {
alert(res.message); if (res.code === 200) {
// 登录成功,跳转到index.html首页 location.href = '/index.html'; } }, 'json'); }); </script>
服务端代码:
// 7. 登录接口 app.post('/login', (req, res) => {
console.log(req.body); // 提交信息到接口,马上进行验证码验证。验证通过才验证账号和密码(略) // 下面验证账号和密码 let sql = 'select * from user where username = ? and password = ?'; db(sql, [req.body.username, req.body.password], (err, result) => {
if (err) throw err; // console.log(result); // 账号密码正确,得到一个非空数组;账号密码错误,得到空数组 if (result.length > 0) {
res.send({
code: 200, message: '登录成功'}); } else {
res.send({
code: 201, message: '登录失败'}); } }); });
执行 git add .
和 git commit -m '完成登录,但是没有使用验证码'
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-nodejs/10830.html