热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DJango跳转页面并删除cookie

当用户访问

当用户访问




1
http://127.0.0.1/

的时候我会验证用户是否登陆,如果登陆就正常访问,否则就跳转到

1
http://127.0.0.1/login

,基本的功能已经实现,代码如下:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class UserAuthMiddleware(MiddlewareMixin):

    def process_request(self, request):



        # 如果COOKIE不存在

        if 'uc' not in request.COOKIES:

            # 如果访问的路径不是/login/就跳转到/login/

            if request.path != '/login/':

                return redirect('/login')

        # 如果存在

        else:

            # 获取session中用户登陆状态的值 如果为true则登陆 否则跳转登录页面

            uc = request.COOKIES['uc']

            try:

                us = request.session[uc]

                # 如果用户登陆的状态为false 跳转登陆页面

                if us['is_login'] != 'true':

                    return redirect('/login')

            # 根据COOKIE取session值出错 跳转登录页面

            except Exception as e:

                return redirect('/login')

上面的代码是一个中间件,那么现在有这么一个问题就是说,如果有人通过不正当手段去访问必须是登陆之后才能访问的页面,他可能也会伪造一个COOKIE来进行验证,如果带有COOKIE,那么第一个

1
if

判断就是没用的,进入第二个判断,第二个判断用户是不合法的,然后跳转到

1
http://127.0.0.1/login/

页面,但是访问这个页面的时候还是会进行验证。

我现在需要这样这,在第二个判断中,如果在session中获取不到值,那么就要把用户的session删除,然后再跳转到登陆页面,问题就是如何再跳转登陆页面吧这个COOKIE删除掉呢?


   



推荐阅读
  • 本文详细探讨了在微服务架构中,使用Feign进行远程调用时出现的请求头丢失问题,并提供了具体的解决方案。重点讨论了单线程和异步调用两种场景下的处理方法。 ... [详细]
  • Spring Security核心概念与应用实践
    本文详细介绍了Spring Security的核心机制,包括其作为一系列过滤器的工作原理,如何实现用户认证与授权,以及常见的配置方法和高级特性如CSRF防护。 ... [详细]
  • Django Token 认证详解与 HTTP 401、403 状态码的区别
    本文详细介绍了如何在 Django 中配置和使用 Token 认证,并解释了 HTTP 401 和 HTTP 403 状态码的区别。通过具体的代码示例,帮助开发者理解认证机制及权限控制。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • Python + Pytest 接口自动化测试中 Token 关联登录的实现方法
    本文将深入探讨 Python 和 Pytest 在接口自动化测试中如何实现 Token 关联登录,内容详尽、逻辑清晰,旨在帮助读者掌握这一关键技能。 ... [详细]
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • 本文详细介绍如何结合Django框架和DRF(Django REST Framework)来设计一套有效的全局异常处理系统。这套系统不仅能够妥善处理DRF引发的异常,还能兼容Django自带的admin界面异常处理逻辑。 ... [详细]
  • 本文介绍了Java Web应用中的资源重定向和请求转发机制,包括默认欢迎资源文件的设置方法,以及多个Servlet之间的调用规则和数据共享方案。 ... [详细]
  • 深入探讨PHP中的输出缓冲技术(Output Buffering)
    本文深入解析了PHP中输出缓冲(Output Buffering)的原理及其在Web开发中的应用,特别是如何通过输出缓冲技术有效管理HTTP头部信息,提高代码的灵活性与健壮性。 ... [详细]
  • 本文深入探讨了网络编程中的基本概念,如指针、引用和可重入函数,并详细介绍了OSI七层模型和TCP/IP四层模型的功能与协议。同时,文章还对比了HTTP与HTTPS的区别,分析了HTTP请求报文的结构,讨论了TCP与UDP的主要差异,以及滑动窗口协议的工作原理。 ... [详细]
  • 本文介绍如何使用 Angular 6 的 HttpClient 模块来获取 HTTP 响应头,包括代码示例和常见问题的解决方案。 ... [详细]
  • 软件工程课堂测试2
    要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ... [详细]
  • 尽管PHP是一种强大且灵活的Web开发语言,但开发者在使用过程中常会陷入一些典型的陷阱。本文旨在列出PHP开发中最为常见的10种错误,并提供相应的预防建议。 ... [详细]
  • 本文提供了一套实用的方法论,旨在帮助开发者构建能够应对高并发请求且易于扩展的Web服务。内容涵盖了服务器架构、数据库管理、缓存策略以及异步处理等多个方面。 ... [详细]
  • 这是一个基于 React 构建的掘金移动版应用,主要模仿了掘金的 UI 设计,并进行了部分自定义调整。项目专注于移动端体验,同时支持服务端渲染和渐进式网络应用(PWA)功能。 ... [详细]
author-avatar
倾城修罗__598
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有