handlers.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:Preeminent 作者: ReedSun 项目源码 文件源码
def cookie2user(cookie_str):
    '''
    Parse cookie and load user if cookie is valid.??cookie???????cookie???????
    '''
    if not cookie_str:
        return None
    try:
        # ?????????????????“-”??cookie?????id?????????????
        L = cookie_str.split('-') # ????str?list
        if len(L) != 3: # cookie????????????????????????????
            return None
        uid, expires, sha1 = L
        if int(expires) < time.time(): # ??????????cookie???
            return None
        user = yield from User.find(uid)  # ???????????
        if user is None:  # ??????????????
            return None
        # ??sha1?????????cookie??sha1?????
        s = '%s-%s-%s-%s' % (uid, user.passwd, expires, _COOKIE_KEY)
        # ????????????
        if sha1 != hashlib.sha1(s.encode('utf-8')).hexdigest():
            logging.info('invalid sha1')
            return None
        user.passwd = '******'
        # ??cookie??????????????????????????????
        # ?? ????????
        return user
    except Exception as e:
        logging.exception(e)
        return None

# ----------------------------------?????--------------------------------

# day14???
# ?????
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号