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>

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

  1. django学习之- CSRF及中间件

    CSRF # 表示django全局发送post请求均需要字符串验证功能:防止跨站请求伪造的功能工作原理:客户端访问服务器端,在服务器端正常返回给客户端数据的时候,而外返回给客户端一段字符串,等到客户端 ...

  2. Django学习手册 - 基于requests API验证(一)

    验证需要知道requests提交数据的几种方式: GET 方式: # get 方式,传递数值可以直接通过url传递:(服务端接受 GET) requests.get(url='http://127.0 ...

  3. Django 学习手册 - 下载数据库表格(XLS/CSV)

    下载XLS表格方式: 前置: 需要安装xlwt模块 views : def export_users_xls(request): response = HttpResponse(content_typ ...

  4. Django学习手册 - 基于requests API验证(二)

    原理分析: API接口验证 1.一个认证的key server端 和 client端都必须有这么一个认证key. 2.认证登录的时间限定 3.保存已验证的信息,在以后的验证不能再次登录 client ...

  5. Django学习手册 - 权限管理(二)

    从数据库获取数据后,对数据进行清洗 目标: 数据1,存放至session 中的数据 数据2,显示至前端的菜单数据 清洗数据: 1.session存放的数据:(menu_leaf_dict) 2.前端菜 ...

  6. Django学习手册 - 权限管理(一)

    权限管理原理: 不同角色拥有不同的角色权限,所以能否访问的页面也就不相同. 通过控制URL使用户访问到不同的URL,从而达到权限控制的目的. 设计权限数据库 权限管理 from django.db i ...

  7. Django学习手册 - 登录验证码

    生成验证码函数 import random from PIL import Image, ImageDraw, ImageFont, ImageFilter _letter_cases = " ...

  8. Django学习手册 - ORM 数据创建/表操作 汇总

    ORM 查询的数据类型: QuerySet与惰性机制(可以看作是一个列表) 所谓惰性机制:表名.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它 ...

  9. Django学习手册 - Form 插件

    """ 核心: from django import formsfrom django.forms import fieldsfrom django.forms impo ...

随机推荐

  1. Game HDU - 3389 (博弈论)

    Bob and Alice are playing a new game. There are n boxes which have been numbered from 1 to n. Each b ...

  2. Android app:transformNativeLibsWithStripDebugSymbolForDebug错误分析

    升级NDK解决问题: 先清除 Android/Sdk/ndk-bundle/ 下的内容从 https://developer.android.google.cn/ndk/downloads/older ...

  3. 记一次给自己的本子更换一个SSD盘

    记一次给自己的本子更换一个SSD盘 关于笔记本电脑:特别讨厌联想的本子(个人习惯:键盘超级硬-按着手疼)dell的可以考虑一下,不过如果我推荐的话:小米的本子还是可以考虑一下的一般买的话建议买6000 ...

  4. Spring_xml方式开发

    1. spring核心配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&q ...

  5. nGrinder Loadrunner vs nGrinder

    s d 功能 参数类型 取值方式 迭代方式 Loadrunner实现方式 nGrinder实现方式 参数化 文件  sequential (顺序取值) Each Iteration (每次迭代) 在参 ...

  6. Swagger入门

    新手入门Swagger看了很多博客,竟然没有一个是步骤齐全的或直接能运行的.于是CSDN下载了SSM+Swagger整合的demo,一顿瞎整,终于可以运行了. 不容易,因此分享这篇博客,祝新手朋友们早 ...

  7. oldboys21day03

    # 1.有变量name = "aleX leNb " 完成如下操作:'''name = "aleX leNb "'''# 移除 name 变量对应的值两边的空格 ...

  8. Python 连接MongoDB并比较两个字符串相似度的简单示例

    本文介绍一个示例:使用 pymongo 连接 MongoDB,查询MongoDB中的 字符串 记录,并比较字符串之间的相似度. 一,Python连接MongoDB 大致步骤:创建MongoClient ...

  9. vue.cli 中使用 less 来写css样式

    vue-cli 的webpack中已配置了less,但 package.json 中没有选项,为了方便开发中使用,需安装一下: 安装方式一: npm install less less-loader ...

  10. lua基于oopclass的属性节点类 和 集合类

    --[[---------------------------------------------------------------------------- --@ Descrption: 属性节 ...