NodeJs+MySQL怎么实现注册登录功能
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章主要介绍"NodeJs+MySQL怎么实现注册登录功能"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"NodeJs+MySQL怎么实现注册登录功能"文章
千家信息网最后更新 2025年11月09日NodeJs+MySQL怎么实现注册登录功能
这篇文章主要介绍"NodeJs+MySQL怎么实现注册登录功能"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"NodeJs+MySQL怎么实现注册登录功能"文章能帮助大家解决问题。
nodejs中mysql的写法:
//连接池let db=mysql.createPool({'配置'}) db.query(`sql语句`,(err,data)=>{})并且在数据库中存储的密码应该是密文
function md5(str){ let obj=crypto.createHash('md5'); obj.update(str); return obj.digest('hex')}function md5_2(str){ return md5(md5(str))}服务端操作,在用户名与密码上添加了简单的校验,不完善,还需要改进
const http=require('http');const fs=require('fs');const mysql=require('mysql');const url=require('url');const zlib=require('zlib');const crypto=require('crypto'); const _key='bsjhjqbj1;dqwxsxx+'; let server=http.createServer((req,res)=>{ let {pathname,query}=url.parse(req.url,true); let {user,password}=query; switch(pathname){ case '/reg': if(!user){ res.write('{"err":1,"msg":"用户名不能为空"}'); res.end(); }else if(!password){ res.write('{"err":1,"msg":"密码不能为空"}'); res.end(); }else if(!/\w{4,16}$/.test(user)){ res.write('{"err":1,"msg":"用户名应为大小写字母数字或下划线"}'); res.end(); }else if(/['|"]/.test(password)){ res.write('{"err":1,"msg":"密码非法"}'); res.end(); }else{ db.query(`SELECT username FROM users_table WHERE username='${user}'`,(err,data)=>{ if(err){ res.write('{"err":1,"msg":"数据库错误"}'); console.log(err) res.end() }else{ if(data.length>0){ res.write('{"err":1,"msg":"用户名已存在"}'); res.end(); }else{ res.write('{"err":0,"msg":"注册成功"}'); db.query(`INSERT INTO users_table (ID,username,password) VALUES (0,'${user}','${md5_2(password)}')`); res.end(); } } }) } break; case '/login': if(!user){ res.write('{"err":1,"msg":"用户名不能为空"}'); res.end(); }else if(!password){ res.write('{"err":1,"msg":"密码不能为空"}'); res.end(); }else if(!/\w{4,16}$/.test(user)){ res.write('{"err":1,"msg":"用户名应为大小写字母数字或下划线"}'); res.end() }else if(/["|']/.test(password)){ res.write('{"err":1,"msg":"密码非法"}'); res.end(); }else{ db.query(`SELECT username,password FROM users_table WHERE username='${user}'`,(err,data)=>{ if(err){ res.write('{"err":1,"msg":"数据库错误"}'); res.end() }else if(data.length>0){ if(md5_2(password)!=data[0].password){ res.write('{"err":1,"msg":"用户名或密码不正确"}'); res.end(); }else{ res.write('{"err":0,"msg":"登陆成功"}'); res.end(); } }else{ res.write('{"err":1,"msg":"用户不存在"}') } }) } break; default: let rs=fs.createReadStream(`www${pathname}`); let gz=zlib.createGzip(); res.setHeader('content-encoding','gzip'); rs.pipe(gz).pipe(res); rs.on('error',err=>{ res.writeHeader(404); res.write('Not Found'); res.end(); }); }}); server.listen(8888);关于"NodeJs+MySQL怎么实现注册登录功能"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
密码
用户
用户名
功能
登录
数据
数据库
知识
成功
下划线
大小
字母
数字
行业
错误
不同
实用
内容
写法
实用性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库怎么卸载完成
关于网络安全小报
access数据库 共享
电视 媒体服务器
达达软件开发工程师
江苏商城软件开发
魏祖宽数据库新技术
南昆士兰大学网络安全硕士
软件开发项目安排
nacos 数据库一致性
北京拉卡网络技术有限公司
服务器强制使用加密通道
8uftp服务器端
园林绿化数据库平台
游戏服务器如何更换
android网络安全检测
上海迎喜互联网科技有限公司
一台服务器几个2404端口
宝山区软件开发排行
成华区星辰网络技术工作室
查找朋友无法连接服务器什么原因
头歌数据库原理实训作业答案
怎么遍历数据库不导致慢日志
股票配资APP软件开发
web服务器需要注意什么
引导客户防范网络安全
宁波水费网上缴费软件开发团队
蔡甸区信息网络安全维护
mysql数据库查询输出
一台服务器几个2404端口