X-CSRF攻击。
黑客可以将被人的cookie拿走。
黑客可以用这个cookie来登录。
CSRF原理:
你们来我服务器请求,第一次请求来要数据,我不仅仅给你了数据,还给你了一个加密后的字符串。
其他的参考
需要怎么做:
settings.py中需要有 django.middleware.csrf.CsrfViewMiddleware 这个中间件
每次在模板里写 form 时都知道要加一个 {% csrf_token %} tag
每次发 ajax POST 请求,都需要加一个 X_CSRFTOKEN 的 header
我们不要吧settings.py
中的中间件'django.middleware.csrf.CsrfViewMiddleware'
注释掉,它是来保护我们的。
在模板中:
{{ csrf_token }} # 这样就会显示它
{% csrf_token %} # 不会显示,但是会存在于模板
后者会在html中生成一个隐藏的input框,type=hidden
。
在cookie中也生成了csrftoken。
如果ajax发送的话,那么需要在cookie中取得到csrftoken,放在请求头再发过去。
1)form提交的时候,将csrf_token带过去: