session和cookie的使用

1.学习之前的准备

1.登录注册页面
2.之前你们完成的微博首页
tip:重点看视频,我这个只是大致梳理了知识点

2.cookie

2.1 cookie的基本知识

2.1.1 功能

php文件不能跨页面访问
1.php

	 <?php 
		$user='admin';
	 ?>

2.php

 <?php 
		echo $user;
 ?>

当你访问2.php的时候你会发现没有返回值。这说明,两个php文件不能够跨页面访问,该怎么实现呢?

cookie能够辅助实现该功能
1.php

			<?php 
			$user='admin';
			setcookie('name','admin');
			 ?>

2.php

			<?php 
				print_r($_COOKIE);
			 ?>

从而实现跨页面访问

2.1.2.cookie的特点

  1. cookie只能存放ASCII字符串
  2. cookie能够被轻易看见(见视频)
  3. cookie能够设置有效期
  4. cookie保存在客户端(用户的浏览器中),不占用服务器资源,即使同时访问的人很多,也不会造成什么大的影响
  5. 浏览器关闭,若设置了有效时间,再次进入浏览器,依旧可以获取cookie,直到超过有效时间
  6. 等等

2.1.3.cookie计数器的实现(视频详细一点)

2.1.4.cookie的几个参数(具体见视频)

1.键名
2.键值
3.有效时间
4.设置cookie的路径(页面只能访问在上一级目录php文件设置的cookie值!)
5.不常用(只做了解)cookie是不能跨域的,但它可以在不同的子域名中生效。

2.2cookie的实例

2.2.1 登录注册

见cooike文件夹

  1. 多注册几个账号(localhost/cookie/register.html)
  2. 分别用这些账号去登录(localhost/cookie/login.html)
  3. 观察个人信息处有没有发生变化
  4. 观察浏览器中cookie的值
  5. 点退出后,再次访问(localhost/cookie/index.php)

1.尝试着用多个账号进行登录观察用户信息这一栏
在这里插入图片描述2.点击退出之后,再次访问localhost/cookie/index.php,观察出现什么现象

2.2.12访问次数

可以使用上面的cookie计时器来实现

2.3 cookie的不足

cookie的缺点:能够被伪造(并且我们不能禁止用户在浏览器伪造cookie,它是浏览器自带的功能),特别不安全!
如何解决不安全问题
我们可以设计一个专属于我们自己的cookie格式,我们来判断传过来的cookie对不对

2.4 对cookie改善后的登录注册

见文件cookie1
具体见 index.php和login.php

观察浏览器中cookie的值与上面的作比较

 	加密方式
	<?php 
	$salt='dgkaefwkjflkffe';
	//加密用户名
	$name='lisi';
	$name=md5($name.'|'.$salt);
	 ?>

3.session

3.1session的实现机理

session的理解:(放在浏览器端)
可以将超市的储物柜理解为服务器。我们的相关用户信息理解为我们的商品
将商品存储起来以后,我们会有一个小票,小票的名字为session_id,它会放在cookie中存储起来。如果我们需要获取商品,必须凭借小票在服务器端(即存储柜)获取我们的物品(即用户信息)

3.2session的特点

1.session的值是一串乱码(不仅仅复杂,每一次还不一样!),难以伪造
2.session无论是读取、修改、销毁,都要先session_start()
3.浏览器一旦关闭,则session就失效了

3.3session的销毁

  1. 可以把session看作一个普通数组,所以销毁时,可以直接赋值一个空数组
    session_start()
    $_session=array();
    2.session_start()
    session_destory();

3.3session的实例

根据上面的cookie实例,试着自己用session写出登录注册

4.cookie与session之间的比较

特点cookiesession
存储地址客户服务器端
存储类型字符串、数字字符串、数字 、数组、对象
创建方式setcookie直接操作$_SESSION
读取$_COOKIE$_SESSION
销毁session(‘key’,0)unset() 、session_destory()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值