tornado的cookie和secure cookie


tornado里面有關幾個cookie的處理,在web.py文件里。

get_cookie, set_cookie普通的設置cookie, clear_cookie, clear_all_cookies是刪除cookie。

還有兩個是 get_secure_cookie, set_secure_cookie,這兩個的功能是能夠防止用戶的cookie被偽造。

先看看函數處理方法。

看 set_secure_cookie,里邊與set_cookie的區別就是value經過 create_signed_value的處理。

create_signed_value,得到當前時間,將要存的value base64編碼,通過_cookie_signature將 加上name,這三個值加密生成簽名。然后將簽名,value的base64編碼,時間戳用|連接,作為cookie的值。

_cookie_signature,就是根據settings里邊的 保密的密鑰生成簽名返回。

get_secure_cookie,用|分割cookie的value,通過name,原value的base64的編碼,時間戳得到簽名,驗證簽名是否正確,正確返回,還多了一個過期時間的判斷

如果別人想偽造用戶的cookie,必須要知道密鑰,才能生成正確的簽名,不然通過 get_secure_cookie獲取value的時候,不會通過驗證,然后就不會返回偽造的cookie值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM