使用cookie进行登录的小案例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用cookie进行登录的小案例相关的知识,希望对你有一定的参考价值。
#!/usr/bin/env python # -*- coding:utf-8-*- import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.render(‘index.html‘) class LoginHandler(tornado.web.RequestHandler): def get(self, *args, **kwargs): self.render(‘login.html‘, status="") def post(self, *args, **kwargs): username = self.get_argument("username") password = self.get_argument("password") if username == ‘haha‘ and password == ‘123‘: self.set_cookie(‘auth‘, ‘1‘) self.redirect(‘/manager‘) else: self.render(‘login.html‘, status="登录失败") class ManagerHandler(tornado.web.RequestHandler): def get(self): coo = self.get_cookie("auth") if coo == "1": self.render(‘manager.html‘) else: self.render(‘login.html‘,status=‘‘) class LogoutHandler(tornado.web.RequestHandler): def get(self): self.set_cookie("auth", "3", expires_days=4) self.render(‘login.html‘, status=‘‘) settings = { ‘template_path‘: ‘views‘, } application = tornado.web.Application([ (r"/index", MainHandler), (r"/login", LoginHandler), (r"/manager",ManagerHandler), (r"/logout",LogoutHandler), ], **settings) if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h>银行余额</h> <a href="/logout">logout</a> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/login" method="post"> <input type="text" name="username"/> <input type="password" name="password"/> <input type="submit" value="login"/> <span style="color: red">{{status}}</span> </form> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h>首页</h> </body> </html>
知识点归纳:1、get_argument()#得到表单的输入值
2、set_cookie() &get_cookie()#设置和得到cookie
3、self.redirect()#跳转某一页
4、self.render()#渲染,注意参数一一对应
5、set_cookie(,expires_days=4)#设置cookie有效时间
以上是关于使用cookie进行登录的小案例的主要内容,如果未能解决你的问题,请参考以下文章
网站爬取-案例四:知乎抓取(COOKIE登录抓取个人中心)(第二卷)
从Uber cookie窃取案例重新审视单点登录系统的安全性
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段