当前位置: 首页 > news >正文

信息网站建设汇报公司内网站建设

信息网站建设汇报,公司内网站建设,进广州最新政策,平和县建设局网站一、 Cookie和Session的发展史 一开始#xff1a;只有一个页面#xff0c;没有登录功能#xff0c;大家看到东西都一样 新闻 时代发展#xff0c;出现了需要登录注册的网站#xff0c;要有一门技术存储我们的登录信息 京东、天猫 cookie 存储形式#xff1a;k:v键值对 …一、 Cookie和Session的发展史 一开始只有一个页面没有登录功能大家看到东西都一样 新闻 时代发展出现了需要登录注册的网站要有一门技术存储我们的登录信息 京东、天猫 cookie 存储形式k:v键值对 存储位置客户端 不安全信息可能会泄露 时代发展需要有一门新的安全的技术 session 标识符来表示我是当前用户加密出来的数据 对敏感信息进行加密处理 存储服务端 标识符配合上你的加密串 把我的标识符 字符串全给客户端 客户端存储格式 session_id:返回回来的表示符加密串 token 三段式加密 二、Cookie 2.1 设置cookie HttpResponse render redriect obj HttpResponse(ok) obj.set_cookie(k,v) def login(request, *args, **kwargs):if request.method POST:username request.POST.get(username)password request.POST.get(password)if username dream and password 521:obj HttpResponse(ok)obj.set_cookie(sign, user)return objelse:return redirect(/login/)return render(request, login.html) 2.2 取值 cookie取值验证 def home(request, *args, **kwargs):sign request.COOKIES.get(sign)if sign and sign user:return HttpResponse(这是home页面)else:return redirect(/login/) 完整版 cookie登录注册 def login(request, *args, **kwargs):# next_url request.get_full_path()# print(next_url) # /login/?next_url/home/if request.method POST:username request.POST.get(username)password request.POST.get(password)if username dream and password 521:next_url request.GET.get(next_url)# print(next_url) # /home/obj redirect(next_url)obj.set_cookie(sign, user)return objelse:return redirect(/login/)return render(request, login.html)def login_auth(func):def inner(request, *args, **kwargs):# print(request.path_info) # /home/# print(request.get_full_path()) # /home/?username111next_url request.get_full_path() # /home/# print(next_url)# /home/sign request.COOKIES.get(sign)if sign and sign user:res func(request, *args, **kwargs)return reselse:return redirect(f/login/?next_url{next_url})return innerlogin_auth def home(request, *args, **kwargs):return HttpResponse(这是home页面)# def home(request, *args, **kwargs): # sign request.COOKIES.get(sign) # if sign and sign user: # return HttpResponse(这是home页面) # else: # return redirect(/login/)login_auth def index(request, *args, **kwargs):return HttpResponse(这是index页面) 2.3  设置过期时间 obj.set_cookie(sign, user, expires3) obj.set_cookie(sign, user, max_age3) 2.4  刪除cookie def logout(request, *args, **kwargs):obj redirect(/home/)# 设置超时时间 5s 到期obj.delete_cookie(sign)return obj 三、  Session 3.1 设置session request.session[sign] user 3.2  取值session sign request.session.get(sign) def login(request, *args, **kwargs):# next_url request.get_full_path()# print(next_url) # /login/?next_url/home/if request.method POST:username request.POST.get(username)password request.POST.get(password)if username dream and password 521:# next_url request.GET.get(next_url)# print(next_url) # /home/request.session[sign] userobj redirect(/home/)# 设置过期时间# obj.set_cookie(sign, user, expires3)# obj.set_cookie(sign, user, max_age3)return objelse:return redirect(/login/)return render(request, login.html)def login_auth(func):def inner(request, *args, **kwargs):# print(request.path_info) # /home/# print(request.get_full_path()) # /home/?username111next_url request.get_full_path() # /home/# print(next_url)# /home/sign request.session.get(sign)# print(sign) # userif sign and sign user:res func(request, *args, **kwargs)return reselse:return redirect(f/login/?next_url{next_url})return innerlogin_auth def home(request, *args, **kwargs):return HttpResponse(这是home页面) 注  session基于数据库表才能使用的 必须先迁移数据库生成 django_session 表 session只对当次登录有效 主动清除浏览器中本地存在的session 验签发现没有sessionid就会自动生成新的session django_sessoin表中的数据条数取决于浏览器 同一个计算机(IP地址)上同一个浏览器只会有一条数据生效 同一个计算机(IP地址)上多个浏览器会有多个数据生效 当session过期的时候可能会出现多条数据对应一个浏览器 但是这些数据不会持久化存储会被定时清理掉可以手动清除也可以代码清除 目的是为了节省服务器数据库资源 3.3  session设置过期时间 request.session[sign] user# 如果是数字的话就是指定 s shu# request.session.set_expiry(3)# 0 就是关闭浏览器后自动清除浏览器的sessionidrequest.session.set_expiry(0) 3.4  删除session # 删除session方式一# request.session.delete()# 把浏览器和数据库里面的session全部清除掉request.session.flush() 四、  CBV加装饰器的三种方法 4.1 方式一加载视图函数上面 method_decorator(login_auth)def get(self, request, *args, **kwargs):return HttpResponse(这是home页面)def post(self):... 4.2   方式二放在类视图上面 (放的装饰器函数,name指定你的视图函数里面的方法) method_decorator(login_auth, nameget) method_decorator(login_auth, namepost) class UserView(View): 4.3   方式三 dispactch 方法加装饰器 本视图函数内所有的视图都需要走装饰器 method_decorator(login_auth)def dispatch(self, request, *args, **kwargs):# Try to dispatch to the right method; if a method doesnt exist,# defer to the error handler. Also defer to the error handler if the# request method isnt on the approved list.if request.method.lower() in self.http_method_names:handler getattr(self, request.method.lower(), self.http_method_not_allowed)else:handler self.http_method_not_allowedreturn handler(request, *args, **kwargs)
http://wiki.neutronadmin.com/news/134622/

相关文章:

  • 生物技术网站开发零食网站建设策划书模板
  • 网站建设 费用预算做购物网站收费标准
  • 网站首页全屏怎么做一个工厂的网站建设
  • 做网站还是做微信公众号做宣传册的公司
  • 做网站需要哪些费用聊大 网站设计
  • 淘宝网站SEO怎么做可使用虚拟主机
  • 国外建设短视频网站利辛做网站
  • 移动通信网站建设wordpress侧栏弹窗登录
  • 企业网站代码中国互联网协会官方网站
  • icp备案在哪里查询图片类网站 怎么做优化
  • 深圳做微商网站设计免费软件看电视剧
  • 做网站用别人的模板是侵权吗新手学做网站电子版
  • 番禺人才网上seo优化工具的种类
  • 深色网站如何防止网站被盗
  • 做什么网站比较简单中企动力百度百科
  • 人事处网站开发文献综述做跨境电商需要多少钱
  • 响应式网站开发现状松江微网站建设
  • we建站公众号开发收费价目表
  • 网站页面布局图片网站的权限设置
  • 网站建设中招聘页面源码成都全网推广哪家专业
  • 辽宁建设工程信息网站有哪些网站用mysql
  • 廊坊网站排名优化报价咖啡网站设计建设
  • 科讯cms制作网站完整教程国内网站建设需要多少钱
  • 宁波网站建设网站杭州滨江网站开发
  • 七台河做网站网站建设公司代理商
  • 什么网站做h5做得好济南公司网站推广优化最大的
  • 广州模板建站哪家好深圳就会制作
  • 广州产品网站设计网站中文名
  • 永州市住房和城乡建设局网站如何注册一个免费域名
  • 描述建设网站的一个具体步骤建筑材料采购网站