跨站请求伪造(CSRF)与跨域问题

1.CSRF定义

  • 伪装来自受信任用户的请求来访问受信任的网站,(攻击者盗用了你的身份,以你的名义发送恶意请求)
  • 产生条件
1、用户要登录受信任的网站,并在本地生成cookie
2、在不退出安全网站的情况下,访问危险网站
  • 应对方案
(1)验证 HTTP Referer 字段;查看请求来源的地址
(2)在请求地址中添加 token 并验证;
(3)在 HTTP 头中自定义属性并验证
(4)在表单中添加from.csrf_token

2. 跨域问题

  • 前端处理Jsonp
  • 后台简单,非简单请求预检(options)
  • response['Access-Control-Allow-Methods'] 指定cent_type,token
from django.middleware.security import  MiddlewareMixin
class MyMiddle(MiddlewareMixin ):
    def process_response(self,request,response):
        if request .method=='OPTIONS':
            response['Access-Control-Allow-Methods'] = '*'
            response['Access-Control-Allow-Headers'] = '*'
        response['Access-Control-Allow-Origin'] = '*'
        return response

# 在settings里配置
 # 'app01.utils.myMiddle.MyMiddle'
posted @ 2019-07-21 08:01  朝朝哥  阅读(2029)  评论(0编辑  收藏  举报