• Session知识点


    知识点概要
        - Session
        - CSRF
        - Model操作
        - Form验证(ModelForm)
        - 中间件
        - 缓存
        - 信号


    内容详细:

    1. Session
        基于Cookie做用户验证时:敏感信息不适合放在cookie中
        

        a. Session原理
            Cookie是保存在用户浏览器端的键值对
            Session是保存在服务器端的键值对
        
        b. Cookie和Session对比
        
        c. Session配置(缺少cache)
        
        d. 示例:实现两周自动登陆
                - request.session.set_expiry(60*10)
                - SESSION_SAVE_EVERY_REQUEST = True

        PS: cookie中不设置超时时间,则表示关闭浏览器自动清除
        
        
        - session依赖于cookie
        - 服务器session
            request.session.get()
            request.session[x] = x
            
            request.session.clear()
            
        - 配置文件中设置默认操作(通用配置):
            SESSION_COOKIE_NAME = "sessionid"                       # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)
            SESSION_COOKIE_PATH = "/"                               # Session的cookie保存的路径(默认)
            SESSION_COOKIE_DOMAIN = None                             # Session的cookie保存的域名(默认)
            SESSION_COOKIE_SECURE = False                            # 是否Https传输cookie(默认)
            SESSION_COOKIE_HTTPONLY = True                           # 是否Session的cookie只支持http传输(默认)
            SESSION_COOKIE_AGE = 1209600                             # Session的cookie失效日期(2周)(默认)
            SESSION_EXPIRE_AT_BROWSER_CLOSE = False                  # 是否关闭浏览器使得Session过期(默认)
            # set_cookie('k',123)
            SESSION_SAVE_EVERY_REQUEST = False                       # 是否每次请求都保存Session,默认修改之后才保存(默认)

        - 引擎的配置
        

    2. CSRF
        a. CSRF原理

        b. 无CSRF时存在隐患

        c. Form提交(CSRF)

        d. Ajax提交(CSRF)
           CSRF请求头 X-CSRFToken
           
           
    6. 中间件

    7. 缓存
        5种配置
        3种应用:
            全局
            视图函数
            模板

    8. 信号
        - 内置信号
        - 自定义
             - 定义信号
             - 出发信号
             - 信号中注册函数
        
    3. Model操作
        
        a. 字段类型 + 参数

        b. 连表字段 + 参数

        c. Meta

        d. SQL操作:
            - 基本增删改查
            - 进阶操作
            - 正反查询
            - 其他操作

        e. 验证(弱)

    4. Form操作
        完成:
            - 验证用户请求
            - 生成HTML
              (保留上一次提交的数据)
            
        自定义:
            - 类
            - 字段(校验)
            - 插件(生成HTML)
            
        初始化操作:
           

  • 相关阅读:
    java.lang.ArrayIndexOutOfBoundsException异常分析及解决
    Android_开发片段(Part 2)
    保存错误日志回传服务器之回传错误“信息文件”
    node.js
    拼接json
    CommonJS / Node.js/ Vue学习资料
    合并PDF
    java 多线程
    linux 运行jar包
    mvn 命令
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/9886499.html
Copyright © 2020-2023  润新知