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

网站建设实训心得php青山seo排名公司

网站建设实训心得php,青山seo排名公司,建设电子商务网站的基本步骤,高端建站准备材料cookie和session 发展史 一开始,只有一个页面,没有登录功能,大家看到东西都一样。 时代发展,出现了需要登录注册的网站,要有一门技术存储我们的登录信息,于是cookie诞生了。 cookie: - 存储形式:k:v键值对…

cookie和session

发展史

        一开始,只有一个页面,没有登录功能,大家看到东西都一样。

        时代发展,出现了需要登录注册的网站,要有一门技术存储我们的登录信息,于是cookie诞生了。

        cookie:

- 存储形式:k:v键值对

- 存储位置:客户端

- 不安全,信息可能会泄露

        时代再度发展,需要有一门新的安全的技术,于是有了session。

        session:

- 标识符,来表示我是当前用户加密出来的数据

- 对敏感信息进行加密处理

        - 存储服务端    

        - 标识符配合上你的加密串

- 把我的标识符+ 字符串全给客户端

        - 客户端存储格式    

        - session_id:返回回来的表示符+加密串

django操作cookies

        设置cookie
def login(request, *args, **kwargs):if request.method == 'POST':username = request.POST.get("username")password = request.POST.get("password")if username == "kevin" and password == "123":obj = HttpResponse("ok")obj.set_cookie('sign', 'user')return objelse:return redirect('/login/')return render(request, 'login.html')
        取值cookie验证
def home(request, *args, **kwargs):sign = request.COOKIES.get('sign')if sign and sign == 'user':return HttpResponse("这是home页面")else:return redirect('/login/')
        设置过期时间
obj.set_cookie('sign', 'user', expires=3)
obj.set_cookie('sign', 'user', max_age=3)
        删除cookie
def logout(request, *args, **kwargs):obj = redirect('/home/')# 设置超时时间 5s 到期obj.delete_cookie('sign')return obj

django操作session

        设置session
request.session['sign'] = 'user'
        取值session
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'] = 'user'obj = redirect('/home/')# 设置过期时间# obj.set_cookie('sign', 'user', expires=3)# obj.set_cookie('sign', 'user', max_age=3)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/?username=111next_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 inner
​
​
@login_auth
def home(request, *args, **kwargs):return HttpResponse("这是home页面")

        注:

- session基于数据库表才能使用的  - 必须先迁移数据库,生成 django_session 表

- session只对当次登录有效  

- 主动清除浏览器中本地存在的session  

- 验签发现,没有sessionid就会自动生成新的session

- `django_sessoin`表中的数据条数取决于浏览器

- 同一个计算机(IP地址)上同一个浏览器只会有一条数据生效

- 同一个计算机(IP地址)上多个浏览器会有多个数据生效

- 当session过期的时候,可能会出现多条数据对应一个浏览器

- 但是这些数据不会持久化存储,会被定时清理掉,可以手动清除也可以代码清除

- 目的是为了节省服务器数据库资源

        设置session过期时间
request.session['sign'] = 'user'
request.session.set_expiry(0)
        删除cookie
# 删除session
request.session.delete()
# 把浏览器和数据库里面的session全部清除掉
request.session.flush()

CBV加装饰器的三种方法

from django.utils.decorators import method_decorator
​
# 方式二:放在类视图上面 (放的装饰器函数,name指定你的视图函数里面的方法)
# @method_decorator(login_auth, name='get')
# @method_decorator(login_auth, name='post')
class UserView(View):# 方式三 : dispactch 方法加装饰器 : 本视图函数内所有的视图都需要走装饰器@method_decorator(login_auth)def dispatch(self, request, *args, **kwargs):# Try to dispatch to the right method; if a method doesn't exist,# defer to the error handler. Also defer to the error handler if the# request method isn't 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)# 方式一:加载视图函数上面# @method_decorator(login_auth)def get(self, request, *args, **kwargs):return HttpResponse("这是home页面")
​def post(self):...

http://www.ds6.com.cn/news/122809.html

相关文章:

  • 网站建设公司怎么写宣传语个人免费建站系统
  • wordpress rpm百度seo新规则
  • 小程序和网站建设需要多钱谷歌seo排名优化
  • 北京大兴最专业的网站建设公司在线培训系统平台
  • 网络公司网站报价淘宝怎样优化关键词
  • aspcms 网站地图网络营销策划方案怎么写
  • 平面设计接单平台哪个靠谱点夫唯seo怎么样
  • 怎么创作一个微信小程序郴州seo网络优化
  • 云主机可以做几个网站seozhun
  • 网站建设包含哪些内容今天大事件新闻
  • da面板做两个网站互联网十大企业
  • 专业设计网站av手机在线精品
  • 网站备案 新闻类前置审批seo关键词排名优化哪好
  • 做网站用微软雅黑侵权吗公司网络推广营销
  • 学做网页设计惠州seo计费管理
  • 如何在新闻网站发外链seo网站排名软件
  • 青岛网站建设推广企业网站设计公司
  • 东莞四网合一网站建设学新媒体运营最好的培训学校
  • 赤峰做网站的湖北网络营销网站
  • 广州建站客服招聘百度推广首页
  • 哪些网站可以做调查赚钱网站设计公司排行榜
  • 深圳网站设计工作室百度搜索引擎盘搜搜
  • 哪家做网站公司黑龙江最新疫情通报
  • 什么网站做外贸好简述什么是网络营销
  • 网页设计基础只是电脑优化大师下载安装
  • 创立网站百度提交收录
  • 网站上登录系统制作完整的品牌推广方案
  • 手机可以做网站关键词优化武汉
  • 苏州网站建设空间百度网址导航
  • 做微信平台网站需要多少钱百度人工服务电话