Tornado 學習 安全應用

2021-09-26 08:43:46 字數 1259 閱讀 6636

1、cookie

a.設定

set_cookie(name, value, domain=none, expires=none, path='/', expires_days=none)

name

cookie名

value

cookie值

domain

提交cookie時匹配的網域名稱

expires

cookie的有效期,可以使時間戳整數,時間元組,或datetime型別,為utc時間

path

提交cookie時匹配的路徑

expires_days

cookie的有效期,天數,優先順序低於expires

·  b.獲取

get_cookie(name, default=none)

c.清除

clear_cookie(name, path='/', domain=none)   --刪除名為name,並同時匹配domain和path的cookie

clear_all_cookie(path='/', domain=none)   --刪除同時匹配domain和path的所有cookie

2.安全cookie

tornado中提供乙個對cookie進行加密簽名的方法。

配置秘鑰,cookie_secret

[(r'/', indexhandler),],

cookie_secret =='***x秘鑰'

a.獲取與設定

set_secure_cookie(name, value, expires_days=30)

設定乙個帶簽名和時間戳的cookie,防止cookie被偽造

get_secure_cookie(name, value=none, max_age_days=31)

max_age_days 過濾安全cookie的時間戳

2.xsrf 跨站請求偽造

a.開啟xsrf保護

xsrf_cookie = true --當tornado設定這個引數,tornado將拒絕請求引數中不包含正確的_xsrf值的post,get,delete請求

b.模板應用

--模板中新增xsrf保護

c.非模板應用

self.xsrf_token

3.使用者驗證

authenticated裝飾器  裝飾器先呼叫get_current_user()方法  。

login_url設定,使用者驗證失敗重定向到這個配置**

tornado應用與安全

cookie 設定cookie self.setcookie name,value,domain,expires,path,expires days name cookie名 value cookie值 domain 提交cookie時匹配的網域名稱 path 提交cookie時匹配的路徑 expr...

Tornado非同步學習

why asynchronous tornado是乙個非同步web framework,說是非同步,是因為tornado server與client的網路互動是非同步的,底層基於io event loop。但是如果client請求server處理的handler裡面有乙個阻塞的耗時操作,那麼整體的s...

tornado學習筆記

tornado是乙個python到開源web框架,它比django要輕量級到多,也沒有什麼元件,只有運用到對應到業務場景下我才使用這個框架,它是單程序單執行緒到非同步非阻塞模型,適用與長連線長輪巡,高併發,非同步非阻塞 安裝 pip install tornado view層 file views ...