def cookie2user(cookie_str): ''' Parse cookie and load user if cookie is valid. ''' if not cookie_str: return None try: L = cookie_str.split('-') if len(L) != 3: return None uid, expires, sha1 = L if int(expires) < time.time(): return None user = yield from User.find(uid) if user is None: return None 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 = '******' return user except Exception as e: logging.exception(e) return None
def cookie2user(cookie_str): ''' Parse cookie and load user if cookie is valid. ''' if not cookie_str: return None try: L = cookie_str.split('-') if len(L) != 3: return None uid, expires, sha1 = L if int(expires) < time.time(): return None user = yield from User.find(uid) if user is None: return None 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 = '******' return user except Exception as e: logging.exception(e) return None
def cookie2user(cookie_str): ''' Parse cookie and load user if cookie is valid. ''' #若cookie信息为空在返回None: if not cookie_str: return None try: #将cookie信息按照‘-’进行切片处理: L = cookie_str.split('-') #若切片数组长度不为3,则返回None: if len(L) != 3: return None #分别取到uid,cookie有效期,用户信息摘要值: uid, expires, sha1 = L #若cookie有效期小于当前时间,则返回None: if int(expires) < time.time(): return None #根据uid在数据库中查询对应的用户信息: user = yield from User.find(uid) #查询结果为空,则返回None: if user is None: return None #重组用户信息并计算SHA1摘要值,同cookie中的用户信息摘要值比对: s = '%s-%s-%s-%s' % (uid, user.passwd, expires, _COOKIE_KEY) if sha1 != hashlib.sha1(s.encode('utf-8')).hexdigest(): #打印(无效SHA1摘要值)日志: logging.info('invalid sha1') return None user.passwd = '******' return user except Exception as e: logging.exception(e) return None
def cooike2user(cookie_str): """ Parse cookie and load user if cookie is invalid """ if not cookie_str: return None try: L = cookie_str.split("-") if len(L) != 3: return None uid, expires, sha1 = L if int(expires) < time.time(): return None user = yield from User.find(uid) if user is None: return None s = '%s-%s-%s-%s' % (uid, user.password, expires, _COOKIE_KEY) if sha1 != hashlib.sha1(s.encode("utf-8")).hexdigest(): logging.info('invalid sha1') return None user.password = "******" return user except Exception as e: logging.exception(e) return None
def api_grant_user(request, *, id): check_admin(request) user = yield from User.find(id) if (user.admin == 0): user.admin = 1 else: user.admin = 0 yield from user.update() return dict(id=id)
def find_model(model, id): if model == 'blog': blog = yield from Blog.find(id) return blog if model == 'user': user = yield from User.find(id) return user if model == 'comment': comment = yield from Comment.find(id) return comment
def test(loop): yield from create_pool(loop=loop, host='localhost', port=3306, user='******', password='******', db='awesome') # user = User(id=1, name='ding') # yield from user.save() r = yield from User.find('1') print(r) yield from destory_pool()
def api_delete_user(request, *, id): check_admin(request) user = yield from User.find(id) yield from user.remove() return dict(id=id)
def manage_users(*, UserID): user = yield from User.find(UserID) yield from user.remove() r = web.Response() return r