node.js 服务器登录注册

Posted 飞刀还问情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js 服务器登录注册相关的知识,希望对你有一定的参考价值。

get: 不安全 小 2k 数据会在地址栏上显示 从服务器获取 快
post: 相对安全 https 大 1G 不会 向服务器发送 慢

登录注册(get与post合并)

user.html:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="jquery.js"></script>
        <script>
            $(function(){
                $oUser = $("#user");
                $oPass = $("#pass");
                $oLogin = $("#login");
                $oReg = $("#reg");
                $oLogin.click(function(){
                    $.ajax({
                        type:"get",
                        url:"/login",
                        data:{
                            user:$oUser.val(),
                            pass:$oPass.val()
                        },
                        async:true,
                        success:function(str){
                            alert(str);
                        }
                    });
                });
                $oReg.click(function(){
                    $.ajax({
                        type:"get",
                        url:"/reg",
                        data:{
                            user:$oUser.val(),
                            pass:$oPass.val()
                        },
                        async:true,
                        success:function(str){
                            alert(str);
                        }
                    });
                });
            })
        </script>
    </head>
    <body>
        用户名:<input id = "user" type="text" value="aaa"/><br />
        密码: <input id ="pass" type="text" value="123"/><br />
        <input id = "login" type="button" value="登录"/>
        <input id = "reg" type="button" value="注册"/>
        
    </body>
</html>
server.js
var http = require("http");
var fs = require("fs");
var modUrl = require("url");
var qs = require("querystring");
var users = {aaa:123};
var server = http.createServer(function(req,res){
    
    var url = req.url;
    var str = "";
    req.on("data",function(data){
        str += data;
    })
    
    req.on("end",function(){
        var urlObj = modUrl.parse(url,true);
        url = urlObj.pathname;
        var GET = urlObj.query;
        
        var POST = qs.parse(str);
        var params = req.method == "POST" ? POST : GET;
        var username = params.user;
        var password = params.pass;
        if(url == "/login"){
            if(users[username]){
                if(users[username] == password){
                    res.end(JSON.stringify({"error":1,"msg":"登陆成功"}));
                }else{
                    res.end(JSON.stringify({"error":0,"msg":"用户名或者密码错误"}));
                }
            }else{
                res.end(JSON.stringify({"error":0,"msg":"用户名或者密码错误"}));
            }
        }else if(url == "/reg"){
            if(users[username]){
                res.end(JSON.stringify({"error":0,"msg":"用户名已存在"}));
            }else{
                users[username] = password;
                res.end(JSON.stringify({"error":1,"msg":"注册成功"}));
            }
        }else{
            
            fs.readFile("www"+url,function(err,data){
                if(err){
                    res.end("404");
                }else{
                    res.end(data);
                }
            })
            
        }
    })  
    
});

server.listen("9000",function(){
    console.log("服务器已打开!");
})

运行效果:

打卡服务器
技术分享图片
登录

技术分享图片
技术分享图片
注册
技术分享图片

技术分享图片

技术分享图片

技术分享图片






以上是关于node.js 服务器登录注册的主要内容,如果未能解决你的问题,请参考以下文章

Node.js_express_中间件 middleware_登录/注册实例

node.js实现简单的登录注册页面

Node.js+express+MySQL仿美团注册登录绑定第三方登录

Vue(vue+node.js+mongodb)_登录注册(密码登录)

node js实战:带数据库,加密的注册登录表单

Node.js + Express 4.x + MongoDB 构建登录注册