码迷,mamicode.com
首页 > 其他好文 > 详细

django POST请求时CSRF

时间:2018-03-21 23:45:41      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:cross   type   config   令牌   name   options   ddl   submit   one   

跨站请求伪造(英语:Cross-site request forgery),也被称为one-click attack或者session riding,通常缩写为CSRF或者XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
 
跟跨网站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
 
django对CSRF的保护措施是在生成的每个表单中放置一个自动生成的令牌,通过这个令牌来判断POST请求是否来自同一个网址
 
在form表单中添加 
{% csrf_token %}
<input type="text" name="username" placeholder="username"><br>
        <input type="password" name="password" placeholder="password"><br>
        <button id="btn" type="submit">登录</button>
        {% csrf_token %}

当提交表单时,查看POST请求,除了username和password外,还会有csrfmiddlewaretoken的参数

 

如果想要忽略Django的检查,可以再settings中注释掉csrf

MIDDLEWARE = [
    ‘django.middleware.security.SecurityMiddleware‘,
    ‘django.contrib.sessions.middleware.SessionMiddleware‘,
    ‘django.middleware.common.CommonMiddleware‘,
    #‘django.middleware.csrf.CsrfViewMiddleware‘,
    ‘django.contrib.auth.middleware.AuthenticationMiddleware‘,
    ‘django.contrib.messages.middleware.MessageMiddleware‘,
    ‘django.middleware.clickjacking.XFrameOptionsMiddleware‘,
]

  

django POST请求时CSRF

标签:cross   type   config   令牌   name   options   ddl   submit   one   

原文地址:https://www.cnblogs.com/Mr-chenshuai/p/8620613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!