Django学习手册 - csrf

CSRF

  1. csrf原理
  2. 无csrf时存在隐患
  3. Form提交
  4. Ajax提交
  5. 默认为全局都csrf

Form表单提交方式:

 <div>
        <form action="/login/" method="post">
            {% csrf_token %}
            <p>用户名:<input type="text" name="user"/></p>
            <p>密码:<input type="password" name="pwd"/></p>
            <input type="submit" value="提交" />
        </form>
    </div>

前端显示页面:

ajax提交方式:

前端页面:

<body>
    <div>
        <form action="/login/" method="post">
            <p>用户名:<input type="text" name="user"/></p>
            <p>密码:<input type="password" name="pwd"/></p>
            <input type="button" value="提交2">
        </form>
    </div>
<script src="/static/jquery-1.12.4.min.js"></script>
<script src="/static/jquery.cookie.js"></script>
<script>
    $(function () {{#$.ajaxSetup(#}
{#    {#}{#        beforeSend:function (xhr,setting) {#}{#            xhr.setRequestHeader("X-CSRFtoken",$.cookie("csrftoken"))#}{#        }#}{#    }#}{##}{#)#}
     $.ajax(
            {
                url:"/login/",
                type:"POST",
                data:{"user":‘root‘,"pwd":"1234"},
                headers:{"X-CSRFTOKEN":$.cookie("csrftoken")},
                success:function (arg) {
                }
            }

        )
    })
</script>
</body>

原文地址:https://www.cnblogs.com/Anec/p/9603415.html

时间: 2024-10-12 09:11:38

Django学习手册 - csrf的相关文章

Django学习手册 - 初识django

初识: django简介: 开放源代码的web应用框架 由python语言编写的. 一.框架基本概念(核心): 以上这个图就是 django 的核心逻辑图,必须熟记.后续的所有编程都跟这个图的逻辑息息相关. 二.MVC/MTV 是啥子? MVC:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交

Django学习手册 - 创建Django工程项目以及APP

前置步骤: 下载python,django 并且安装好 python 解释器以及django模块. 整体步骤阐述: 创建django工程项目 步骤一:进入安装的python目录 步骤二:输入创建工程的命令: 创建业务APP目录 步骤一:进入已创建的工程项目目录 步骤二:输入创建APP 工程项目名称 创建django工程项目: 1.进入安装的python目录下的scripts 目录中 2.在此文件夹的空白处 shift + 鼠标右键  ,在此处打开命令窗口 3.在此窗口下输入: 1 django-

Django学习手册 - pycharm 安装/建立第一个网站hello world

步骤阐述: 1.下载 pycharm 安装包,安装pycharm 2.打开pycharm软件,新建工程项目 3.新建APP,配置url,启动项目 步骤1: pycharm 官网下载: https://www.jetbrains.com/pycharm/ 安装方式跟普通windows 软件安装方式一致,建议指定安装路径. 步骤2: 配置pycharm 软件 1.在创建工程目录前,先要配置解释器(当然默认直接建立Django项目也是可以的,但后续加载新项目会加载不了,所以建议先配置指定解释器.) 文

Django学习手册 - sqlit数据库操作

步骤阐述:( splitDB 是Django自带的一个数据库) 1.在APP01 中的 models.py 配置DB信息  userinfo 相当于数据表的表名,而 uname.pwd 相当于 表中的两个列字段.(DB默认还会自建一个ID列) 2.在setting 中注册 app01. 3.运行命令,建立数据表,写入数据. 4.split 数据库的基本增删改查. 步骤1.在业务app01 models 文当中 写入数据表的 表字段(uname 和 pwd 这个两个字段) 步骤2.在luru的主目

Django学习手册 - ORM 外键

Django 外键操作 关键语法: models.ForeignKey("UserGroup",to_field="gid",default=1,on_delete=models.CASCADE) 参数: "UserGroup"  #外键另外一张表 to_field="gid" #另外一张表的字段 on_delete=models.CASCADE  #因为不加这个会报错相关(https://www.cnblogs.com/ph

Django学习手册 - 初识自定义分页

核心: <a href='http://127.0.0.1:8000/index-%s'>%s<a> 自定义分页 1.前端处理字符 后端的字符  return render(request,"index.html",{"l传到前端的数据":list}) {{ 传到前端的数据 | safe}} 2.后端处理字符 导入处理的模块 from django.utils.safestring import mark_safe mark_safe(需要处

Django学习手册 - cookie / session

cookie """ cookie属性: obj.set_cookie(key,value,....) obj.set_signed_cookie(key,value,salt="加密盐",....) 参数: key 键 value="" 值 max_age=None 超时时间 expires=None 超时日期 path="/" cookit生效的路径,/表示根路径,特殊的,跟路径的cookie可以被任何url被任

Django学习手册 - ORM 数据表操作

queryset 数据类型介绍 QuerySet与惰性机制 所谓惰性机制:表名.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行. QuerySet特点: <1>  可迭代的 <2>  可切片 <3>  惰性计算和缓存机制 例: info=models.table_name.objects.all()[0:5] #切片 info= models.table

Django学习手册 - 自定义分页工具

前端代码: <div class="xianshi"> {% for i in info %} <ul> <li>{{ i }}</li> </ul> {% endfor %} </div> <div class="yema"> {% for x in yemalist%} <span>{{ x | safe}}</span> {% endfor%} <