吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 737|回复: 1
收起左侧

[已解决] request.cookie.get()没法获取cookie的ID

[复制链接]
single_cat 发表于 2022-4-24 16:40
本帖最后由 single_cat 于 2022-4-24 22:36 编辑

最近在学习flask,使用request.cookie.get()方法获取ID时,发现存储的ID和值是加密过的,没法直接获取进行判断,请教大神们,应该怎么做才可以?

这里先拜谢了!

---------------------------------------------------------------------------------------
已经解决了,改用session来实现

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| single_cat 发表于 2022-4-24 21:14
整个过程是这样的:
1、使用set_cookie('username', username)将用户名写入cookie,
2、request.cookie.get()去获取已经写入的cookie中的username,
3、判断cookie中的用户名是否与指定的用户名相同

就是在这个环节出问题了,使用request.cookie.get('username')获取的值是None,然后我在edge里查看,发现已经变成一长串加密后的字符串,我把这一长串字符串放进request.cookie.get()中,然后程序就正常了。

我哪个地方做错了?

[Python] 纯文本查看 复制代码
from flask import Flask, render_template, request, make_response

app = Flask(__name__)

@app.route("/")
def index():
    cookies = request.cookies.get()
    print(cookies)
    if request.cookies.get(cookies):
        return render_template("index.html")
    else:
        return render_template('login.html')

@app.route("/login", methods=["GET", "POST"])
def login():
    # 验证表单数据
    if request.method == "POST":
        username = request.form['username']
        password = request.form['password']
        if username == 'username' and password == 'password':
            response = make_response('登录成功')
            response.set_cookie('username', username, max_age=7200)
            return response, render_template('index.html')
        else:
            return render_template('error.html')
    return render_template('login.html')
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表