8.6

1.出现的问题:

配置环境,修改了文件名,环境变量要跟着改,安装django模块,通过pycharm里面的setting—》project from—>+.

http协议特点:
无状态保持:为了保证快速访问,http协议设定不保存状态。 出现的问题:无法识别客户端的身份

2.cookie: https://www.cnblogs.com/yuanchenqi/articles/9036467.html:
cookie又服务器写,浏览器保存cookie
大小为4kB,一个服务器最多在浏览器上保存20个cookie
一个浏览器最多保存300cookie

obj=HttpResponse(‘ok’)/render/redirect

obj.set_cookie(‘username’,user)
obj.set_cookie(‘is_login’,True,path=)
return obj

3session
一个服务端,一个客户端只能建立一条状态信息,既用户只能是一个。(怎样伪造多个客户端?)

设置session:
requset.session[“username”]=“user”

requset.session.get(“username”)

del request.session[“username”]

request.session.flush()

session_key session_data

jq 小技巧: $(":randio") 等同于 $("[name=‘randio’]")–>通用写法 input的属性选择器

4.用户认证组件: 中间件,在setting里面设置
特点: 使用django自带的用户表 auth_user —>密文储存
插入记录的命令: python manage.py createsuperuser
1.auth.authenticate(username=user,password=pwd)----->去指定的auth_user表里过滤()内的内容
user_obj=auth.authenticate(username=user,password=pwd)

2.auth.login(request,user_obj)------->使用session,进行登陆

3.auth.logout(request)------>注销

4.User.objects.create_user(username=user,password=pwd)----->在auth_user用户表里添加数据

5 user=User.objects.get

5.中间件: ‘django.contrib.auth.middleware.AuthenticationMiddleware’:认证用户是否存在,auth_user库中,没有就认证为匿名用户.
中间件特点: 任何请求都会通过中间件:

中间件的流程: 请求1(process_request)—>请求2—>路由—>视图函数—>返回2(process_response)---->返回1

中间件的设置 setting.py里面MIDDLEWARE

中间件设置-白名单:
if request.path in [’/index/’]:
return None

中间件的其他方法(在csrf.py里面):

process_view:路由分发(request)之后进行,视图函数之前

process_exception:视图函数出错后,执行。response之前

应用;
1.防止一个客户端多次访问(访问网站里面的任何数据):
检测ip地址 :
做统计次数/时间 :计算时间戳
超过,就阻止访问 :
2.在中间件加入session认证。—>(节省代码)

作业:
1.*******防止客户端多次访问:

2.源码试读
‘django.contrib.sessions.middleware.SessionMiddleware’,
‘django.contrib.auth.middleware.AuthenticationMiddleware’,

3.白名单:

累积出来的任务:

  1. jq练习,
  2. form web做侧边的作者查询,出版社查询,导航栏
  3. 复习jq的dom操作,以及已经教过的jq方法:梳理
  4. django的官方文档:比如 requset.FILES request.COOKIES请求过来的对象,jqueryset的说明,等等基础说明

你可能感兴趣的:(日志)