Tornado 學習 -- 安全應用

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設置,用戶驗證失敗重定向到這個配置網址

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章