HTML用cookie实现自动登录,小菜鸟变大笨鸟

编程入门 行业动态 更新时间:2024-10-26 18:30:01

HTML用cookie实现自动登录,小<a href=https://www.elefans.com/category/jswz/34/1769734.html style=菜鸟变大笨鸟"/>

HTML用cookie实现自动登录,小菜鸟变大笨鸟

node,cookie完成自动登录

注意点:

1 种一个cookie,res.cookie("cookie名","cookie内容",{path:路径,signed:是否加密,maxAge:超时时间})

2 cookie加密,req.secret规定一个加密规则,然后res.cookie("cookie名","cookie内容",{path:路径,signed:true,maxAge:超时时间})

3 获取cookie,利用cookie-parser,先声明server.use(cookieParser());获取,req.cookies;

4 cookie解密:server.use(cookieParser("asdfghjklpoiuytrewqasdgh1234567"));在使用cookieparser中间件的时候,告诉cookieparse你的加密规则,然后使用req.signedCookies

步骤:

1 安装express express-static cookie-parser

2 引入express express-static cookie-parser,创建一个sever并监听端口

代码:

html:

用户名:

密码:

记住密码

css:

.box {

position: absolute;

left: 0;

right: 0;

top: -800px;

bottom: 0;

margin: auto;

transition: all ease 1s;

width: 400px;

height: 400px;

border: 1px solid rgba(0, 0, 0, .5);

box-shadow: 1px 1px 6px 2px rgba(0, 0, 0, .5);

}

js:

$(document).ready(() => {

setTimeout(() => {

$(".box").css("top", "0");

}, 15)

// cookie自动登录

setTimeout(() => {

ajax({

url: "http://localhost:8020/auto",

type: "get",

success: (res) => {

alert(res);

}

})

}, 2000)

// 注册

$("#register").on("click", () => {

ajax({

url: "http://localhost:8020/register",

type: "get",

data: {

"userName": user.value,

"password": pass.value

},

success: (res) => {

alert(res);

}

})

})

// 登录

$("#login").on("click", () => {

console.log(remberPassword.checked);

ajax({

url: "http://localhost:8020/login",

type: "get",

data: {

"userName": user.value,

"password": pass.value,

"isCookie": remberPassword.checked

},

success: (res) => {

alert(res);

}

})

})

})

nodejs

var express = require("express");

var cookieParser = require("cookie-parser");

var static = require("express-static");

var fs = require("fs");

var server = express();

server.listen(8020);

server.use(cookieParser("asdfghjklpoiuytrewqasdgh1234567"));

// //注册

server.use("/register", (req, res) => {

let userMessage = req.query;

fs.readFile("../user.txt", "utf8", (err, data) => {

if (err) console.log(err);

let user;

if (data) {

user = JSON.parse(data);

} else {

user = {};

}

if (user[userMessage.userName]) {

res.send("用户已存在");

return;

} else {

user[userMessage.userName] = userMessage.password;

fs.writeFile("../user.txt", JSON.stringify(user), (err, data) => {

if (err) {

console.log(err);

}

res.send("注册成功");

});

}

});

});

/*

1 种一个cookie,res.cookie("cookie名","cookie内容",{path:路径,signed:是否加密,maxAge:超时时间})

2 cookie加密,req.secret规定一个加密规则,然后res.cookie("cookie名","cookie内容",{path:路径,signed:true,maxAge:超时时间})

3 获取cookie,利用cookie-parser,先声明server.use(cookieParser());获取,req.cookies;

4 cookie解密:server.use(cookieParser("asdfghjklpoiuytrewqasdgh1234567"));在使用cookieparser中间件的时候,告诉cookieparse你的加密规则,然后使用req.signedCookies

*/

//登录

server.use("/login", (req, res) => {

let userMessage = req.query;

req.secret = "asdfghjklpoiuytrewqasdgh1234567";

fs.readFile("../user.txt", "utf-8", (err, data) => {

if (err) console.log(err);

let userData = JSON.parse(data);

if (userData[userMessage.userName] == userMessage.password) {

if (userMessage.isCookie) {

res.cookie("user1", userMessage.userName + "-" + userMessage.password, {

signed: true,

maxAge: 60 * 1000,

});

}

res.send("登录成功");

} else {

res.send("登录失败");

}

});

});

//自动登录

server.use("/auto", (req, res) => {

let cookies = req.signedCookies;

console.log(cookies);

if (cookies.user1) {

let userMessage = {};

userMessage.userName = cookies["user1"].split("-")[0];

userMessage.password = cookies["user1"].split("-")[1];

req.secret = "asdfghjklpoiuytrewqasdgh1234567";

fs.readFile("../user.txt", "utf-8", (err, data) => {

if (err) console.log(err);

let userData = JSON.parse(data);

if (userData[userMessage.userName] == userMessage.password) {

res.send("登录成功");

}

});

} else {

res.send("登录超时,请重新登录");

}

});

server.use(static("./../"));

效果:

更多推荐

HTML用cookie实现自动登录,小菜鸟变大笨鸟

本文发布于:2024-02-26 00:05:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1700704.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:菜鸟   变大   自动登录   HTML   cookie

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!