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
app = tornaddo.web.Application(
[(r'/', IndexHandler),],
cookie_secret =='XXXX祕鑰'
)
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.模板應用
{% modeule xsrf_form_html() %} --模板中添加xsrf保護
c.非模板應用
self.xsrf_token
3.用戶驗證
authenticated裝飾器 裝飾器先調用get_current_user()方法 。
login_url設置,用戶驗證失敗重定向到這個配置網址