zoukankan      html  css  js  c++  java
  • 跨站请求伪造和csrf_token使用

    day70

     csrf简单用法
     
        什么是CSRF ?
            跨站请求伪造,
            
            
        问题:
            1. 钓鱼网站的页面和正经网站的页面对浏览器来说有什么区别? (页面是怎么来的?)
                钓鱼网站的页面是由 钓鱼网站的服务端给你返回的
                
                正经网站的网页是由 正经网站的服务端给你返回的
                
                
            2. Django中内置了一个专门处理csrf问题的中间件
                django.middleware.csrf.CsrfViewMiddleware
                
                这个中间件做的事情:
                    1. 在render返回页面的时候,在页面中塞了一个隐藏的input标签
                    
                    用法:
                        我们在页面上 form表单 里面 写上 {% csrf_token %}
                        
                    <input type="hidden" name="csrfmiddlewaretoken" value="8gthvLKulM7pqulNl2q3u46v1oEbKG7BSwg6qsHBv4zf0zj0UcbQmpbAdijqyhfE">
                    
                    2. 当你提交POST数据的时候,它帮你做校验,如果校验不通过就拒绝这次请求

    详细过程:

    提交后后台得到数据:

    通过钓鱼网站,将钱转给指定的人

    结果:

    写的是转入小黑,结果却是转给了哪吒。

    解决方法:

    在表单中嵌入 {% csrf_token %},且在setting.py中 'django.middleware.csrf.CsrfViewMiddleware',取消注释。

    前端表单中{% csrf_token %}将和后端中内容进行比较验证,如果对应则提交成功,而钓鱼网站。

    拒绝钓鱼网站:

  • 相关阅读:
    AtCoder Grand Contest 029C
    AtCoder Grand Contest 034D
    JZOJ 4418. 【HNOI2016模拟4.1】Prime的把妹计划(单调栈+线段树)
    COCI 2015/2016 PROKLETNIK(单调栈+线段树)
    常用数论定理(费马小定理&欧拉定理&扩展欧拉定理)
    JZOJ 3252. 【GDOI三校联考】炸弹(树形DP)
    prufer序列入门
    NOI2020全国统一省选-GDOI游记(爆炸记)
    Manacher算法操作详解
    JZOJ 6493. 【GDOI2020模拟03.04】迷宫(状压DP)
  • 原文地址:https://www.cnblogs.com/112358nizhipeng/p/10491386.html
Copyright © 2011-2022 走看看