CSRF跨域攻击原理
- 当访问官方指定网址时把URL地址发送给后台服务器
- 后台服务器生成一个csrf_token通过渲染的方式返回给前端页面
- 前端提交数据时会把提交的数据以及csrf_token提交给后台服务器
- 后天服务器将csrf_token进行比对
- csrf_token往往存储在cookie中,且在POST数据时使用
CSRF跨域攻击实例与防范
- CSRF跨域攻击案例
在Django取消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’,
]
添加CSRF_TOKEN的方法
在Form表单中添加:{%csrf_token%}