亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python Django框架防御CSRF攻擊的方法分析

 更新時(shí)間:2019年10月18日 11:33:58   作者:houyanhua1  
這篇文章主要介紹了Python Django框架防御CSRF攻擊的方法,結(jié)合實(shí)例形式分析了Python Django框架防御CSRF攻擊的原理、配置方法與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Python Django框架防御CSRF攻擊的方法。分享給大家供大家參考,具體如下:

項(xiàng)目名/settings.py(項(xiàng)目配置,csrf中間件配置):

MIDDLEWARE_CLASSES = (
  'django.contrib.sessions.middleware.SessionMiddleware',
  'django.middleware.common.CommonMiddleware',
  'django.middleware.csrf.CsrfViewMiddleware', # django默認(rèn)啟用了csrf防護(hù),只針對(duì)post表單提交進(jìn)行防護(hù)。
  'django.contrib.auth.middleware.AuthenticationMiddleware',
  'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
  'django.contrib.messages.middleware.MessageMiddleware',
  'django.middleware.clickjacking.XFrameOptionsMiddleware',
  'django.middleware.security.SecurityMiddleware',
)

templates/應(yīng)用名/demo.html(模板文件,csrf防護(hù)):

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>修改密碼頁(yè)面</title>
</head>
<body>
<form method="post" action="/change_pwd_action">
  {% csrf_token %} {# csrf_token是Django提供的,用于csrf防護(hù)。該變量會(huì)替換成一個(gè)表單隱藏域。 #}
  新密碼:<input type="password" name="pwd">
  <input type="submit" value="確認(rèn)修改">
</form>
</body>
</html>

django防止csrf攻擊的方式:

1) 默認(rèn)打開csrf中間件。

2) 表單post提交數(shù)據(jù)時(shí)加上{% csrf_token %}標(biāo)簽。

防御原理:

  1. 渲染模板文件時(shí)在頁(yè)面生成一個(gè)名字叫做csrfmiddlewaretoken的隱藏域。
  2. 服務(wù)器交給瀏覽器保存一個(gè)名字為csrftoken的cookie信息。
  3. 提交表單時(shí),兩個(gè)值都會(huì)發(fā)給服務(wù)器,服務(wù)器進(jìn)行比對(duì),如果一樣,則csrf驗(yàn)證通過(guò),否則失敗。

希望本文所述對(duì)大家基于Django框架的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論