卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

用Django模擬GET請(qǐng)求的CSRF攻擊例子

創(chuàng)建Django項(xiàng)目和應(yīng)用 在命令行中使用以下命令創(chuàng)建一個(gè)名為djcsrfget的Django工程和一個(gè)名為testget的應(yīng)用: ``` django-admin startproject d

創(chuàng)建Django項(xiàng)目和應(yīng)用

在命令行中使用以下命令創(chuàng)建一個(gè)名為djcsrfget的Django工程和一個(gè)名為testget的應(yīng)用: ``` django-admin startproject djcsrfget cd djcsrfget python startapp testget ```

配置Django項(xiàng)目

使用PyCharm等編輯器打開該Django項(xiàng)目,并在項(xiàng)目的同名文件夾內(nèi)的settings文件中進(jìn)行如下配置: ```python INSTALLED_APPS [ '', '', '', '', '', '', 'testget', ] ROOT_URLCONF 'djcsrfget.urls' TEMPLATES [ { 'BACKEND': '', 'DIRS': [(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ '_', '_', '_', '_', ], }, }, ] ```

添加HTML模板文件

在項(xiàng)目的根目錄中新建一個(gè)名為templates的文件夾,并在該文件夾內(nèi)分別創(chuàng)建和文件,文件內(nèi)容如下: ```html Title
{% csrf_token %}



``` ```html Title

歡迎{{user}}

轉(zhuǎn)賬

```

配置URL路由

在同名文件夾的文件中,將應(yīng)用的文件include進(jìn)來(lái),代碼如下: ```python from import url, include from import admin urlpatterns [ url(r'^admin/', ), url(r'', include('testget.urls')), ] ``` 在應(yīng)用內(nèi)新建文件,并寫入以下內(nèi)容: ```python from import url from . import views urlpatterns [ url(r'^login/$', views.login), url(r'^index/$', ), url(r'^transfer/$', ), ] ```

編寫視圖函數(shù)

在應(yīng)用的文件中,編寫三個(gè)視圖函數(shù):login、index和transfer。其中l(wèi)ogin用于處理用戶登錄,index用于顯示用戶首頁(yè),transfer用于模擬轉(zhuǎn)賬操作。代碼如下: ```python from import render, HttpResponse, redirect from import auth from import login_required def login(request): if 'POST': username ('username') password ('password') user (usernameusername, passwordpassword) if user: auth.login(request, user) print('ok') return redirect('/index/') return render(request, '') @login_required(login_url'/login/') def index(request): return render(request, '') @login_required(login_url'/login/') def transfer(request): return HttpResponse('you have transferred 1000RMB') ```

標(biāo)簽: