NodeJs+MySQL怎么实现注册登录功能
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"NodeJs+MySQL怎么实现注册登录功能"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"NodeJs+MySQL怎么实现注册登录功能"文章
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
互联网科技网
国智互联网科技
金融科技创新监管互联网金融
互联网金融 科技金融
互联网金融 科技创新
丰台科技园 互联网公司
广西拼得多互联网科技有限公司
互联网之后的科技是什么
成都互联网科技公司100强
千方科技属于互联网企业吗
和信科技工业互联网
互联网科技研发水平
互联网科技人工智能实验室
东莞新华互联网科技学校
电子商务与互联网科技的关系
艺电能源互联网科技有限公司招聘
唯美互联网科技
科技信息时代互联网发展
利用互联网等科技手段
互联网 科技节活动 微视频大赛
小米移动互联网科技园
百单网互联网科技有限公司
互联网和科技创新
科技企业和互联网企业
上海电发互联网科技有限公司
欧洲十大科技互联网公司
辽宁互联网新科技
内蒙古九一互联网科技
美国互联网科技实力
黑云互联网科技有限公司