微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【Node.js】Cookie与Session模拟登录

Cookie基本用法

const express = require('express');
let app = express()

const cookieParser = require("cookie-parser")
app.use(cookieParser())

// 设置  res.cookie(k,v,过期时间)   
// 过期时间过期时间有两种{maxAge:时间段}   {expires:时间点}

// 获取

let date = new Date("2021-1-8 9:54:00")

app.get("/", (req, res) => {
    console.log(req.cookies);
    // res.cookie("name","zs",{maxAge:1000*10})
    // res.cookie("name","zs",{expires:date})
    res.end("ok")
})

app.listen(3000, () => {
    console.log("3000ok");
})

Cookie模拟登录

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="/login" method="post">
    账号:<input type="text" placeholder="请输入账号" name="username"><br>
    密码:<input type="password" placeholder="请输入密码" name="password"><br>
    <input type="submit">
    </form>
</body>
</html>

login_cookie.js

const express = require('express');
const path = require('path');
let app = express()

const cookieParse = require('cookie-parser');
// 利用中间件
app.use(cookieParse())
app.use(express.urlencoded({ extended: true }))

// 存储username和password
app.get("/", (req, res) => {
    if (req.cookies.username && req.cookies.password) {
        res.send("Login successfully, this is index page");
    } else {
        res.send("You have not logged in, go to <a href = '/login'>login</a>");
    }
})

// 跳转login页面
app.get("/login", (req, res) => {
    let filepath = path.join(__dirname, "./login.html");
    res.sendFile(filepath)
})

// form submit
app.post("/login", (req, res) => {
    if (req.body.username && req.body.password) {
        res.cookie("username", req.body.username)
        res.cookie("password", req.body.password)
        res.send("login successfully, go to <a href = '/'>index</a>")
    } else {
        res.send('Please confirm you have entered username and password, go to <a href = "/login">login</a>')
    }
})

app.listen(3000, ()=>{
    console.log(`Port 3000 is listening...`)
})

Session基本用法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐