首页前端开发其他前端知识注册登录功能,可以通过NodeJs+MySQL实现

注册登录功能,可以通过NodeJs+MySQL实现

时间2024-03-27 21:10:11发布访客分类其他前端知识浏览1012
导读:这篇文章给大家分享的是“注册登录功能,可以通过NodeJs+MySQL实现”,文中的讲解内容简单清晰,对大家认识和了解都有一定的帮助,对此感兴趣的朋友,接下来就跟随小编一起了解一下“注册登录功能,可以通过NodeJs+MySQL实现”吧。...
这篇文章给大家分享的是“注册登录功能,可以通过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实现”的内容就介绍到这,感谢各位的阅读,相信大家对注册登录功能,可以通过NodeJs+MySQL实现已经有了进一步的了解。大家如果还想学习更多知识,欢迎关注网络,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

注册登录

若转载请注明出处: 注册登录功能,可以通过NodeJs+MySQL实现
本文地址: https://pptw.com/jishu/654480.html
登陆验证功能如何用过nodejs实现 go是不是强语言,与弱语言有什么区别

游客 回复需填写必要信息