zoukankan      html  css  js  c++  java
  • 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值。

  • 相关阅读:
    三者最大实例分析
    Python eval函数
    Linux查看某个进程的线程
    将列表传递给函数
    二十四、二进制日志截取与恢复
    二十三、二进制日志事件
    二十二、二进制日志记录方式
    二十一、二进制日志介绍
    二十、错误日志
    十九、InnoDB核心参数
  • 原文地址:https://www.cnblogs.com/DjangoBlog/p/6088691.html
Copyright © 2011-2022 走看看