PHP中的会话控制(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40406061/article/details/78581444

例:

value=somethingfromsomewhere;setcookie(TestCookie, value);
setcookie(“TestCookie”, value,time()+3600);/1/setcookie(TestCookie, value, time()+3600, “/~rasmus/”, “example.com”, 1);

注意:在发送 Cookie 时,值的部分会被自动 urlencode 编码。收到 Cookie 时,会自动解码,并赋值到可变的 Cookie 名称上。 如果不想被编码,可以使用 setrawcookie() 代替——如果你的 PHP 版本是 5 及以上。 在脚本里查看我们的测试 Cookie 的内容,使用下面的一个例子:

// 打印一个单独的 Cookie
echo COOKIE[TestCookie];//debug/testCookieprintr( _COOKIE);

(2)setrawcookie()
它不会对值进行urlencode()编码
剩余参数等基本和setcookie()函数一样,详细参数可以查询php.net
读取Cookie
Cookie数据保存在$_Cookie中
更新Cookie
将之前和设置好的Cookie重命名即可
删除Cookie

注意:更新和删除的时候需要保证 path domain和之前保持一致才可以!!!

使用header的方式操作Cookie
header(“Set-Cookie:name=value[expires=date][;domain=domain][;path=path][secure][;httponly]”)
在这里不细说header方式

Cookie保存数组形式的数据

//Cookie保存数组形式的数据
setcooie(‘userInfo[username]’,’csdn’,strtotime(‘+7 days’));
setcookie(‘userInfo[email]’,’[email protected]’,strtotime(‘+7 days’));
setcookie(‘userInfo[add]’,’dalian’,strtotimr(‘+7 days’));

保存了数组数据

Cookie中不要存储敏感信息,Cookie不是很安全,截取Cookie之后可以用来Cookie欺骗
不要把Cookie当做客户端存储器来使用,首先每个域名允许Cookie都是有限的,而且不同浏览器这个限制也不同
Cookie中保存最大字节数是4K
Cookie设置之后每次都会附着在HTTP的头中一起发送,浪费带宽,现在html5有一种Cookie的代替方案,也就是localStorageCookie、localStorage以及sessionStorage的特性表

·Session的使用

什么是Session
$_SESSION (和所有已注册得变量) 将被 PHP 使用内置的序列化方法在请求完成时 进行序列化.序列化方法可以通过 session.serialize_handler 这个 PHP 配置选项中来设置一个指定的方法.注册的变量未定义将被标记为未定义.在并发访问时,这些变量不会被会话模块 定义除非用户后来定义了它们.

Session的工作原理

1.准备简介会话的时候,PHP会先查看请求中是否包含session_id,如果没有服务器会在自己的内存里创建一个新的变量,这个变量就是session_id,例:此变量为session_1234
2.服务器会把这个session_id发送到浏览器中进行保存,一般浏览器会把这个id保存到Cookie中
3.之后我的浏览器再去访问服务器的时候,都会携带Cookie中存储的这个session_1234,这样服务器就会认识这个浏览器了
4.服务器端这个session_1234变量可以存放任意的会话数据,这些数据是经过序列化之后存放进去的
5.每次浏览器访问服务器,都可以凭借自己的session_id到服务器的这个变量中认领自己的信息
6.如果想销毁会话,可以删除掉会话中的数据,销毁会话文件

PHP中如何使用session
1.开启会话:session_start()
2.可以通过 SESSION使3.session SESSION清空、将Cookie中的数据清空、调用session_destory()来销毁会话

传递session_id
唯一要注意的就是当浏览器Cookie关闭时,要用URL来传递session_id(不安全不建议使用)

猜你喜欢

转载自blog.csdn.net/qq_40406061/article/details/78581444
今日推荐