cookiec和session学习笔记

cookie

原理:浏览器像服务器发送请求,服务器返回包含信息的cookie存在浏览器端,浏览器再发送请求时携带cookie访问服务端。

使用setcookie来设定,setcookie()相关的参数,bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

name      cookie的名字

value       cookie的值

expire      cookie的有效周期              

path        cookie在服务器端的有效路径

domain     该cookie效的域名

secure      指明 cookie 是否仅通过安全的 HTTPS 连接传送。当设成 TRUE 时,cookie 仅在安全的连接中被设置。默认值为 FALSE

cookie只能够保存字符串。整型也当字符串看待。

把expire的时间戳不设置或设置成0,代表使用默认的生存周期

cookie是区分目录的,设置后只在在当前目录及其子目录内有效

创建cookie:setcookie("zox","study",time()+60,"/");

修改cookie:setcookie("zox","studyhard",time()+60,"/");

删除cookie:setcookie("zox");

                 setcookie("zox","",time()-1);  推荐用法


SESSION

原理:浏览器向服务端发送请求,服务端会在服务器上建立一个保存session信息的文件并返回一个只带有session_id标识的cookie,浏览器再发送请求时携带cookie标识访问服务端。

session要比cookie要安全

session以文件的形式储存在服务器端,客户端只保存session的id。

服务端SESSION文件默认1440S清空,在apache配置文件中可以进行修改。

session变量的存活周期是在浏览器关闭之前,浏览器关闭,浏览器带有SESSION_ID的COOKIE清空。

用session_start()开启SESSION

在seisson_start()之前,不能有任何的输出,包括PHP外的HTML空行。

创建SESSION变量: $_SESSION['pass']="abcd";

修改SESSION变量: $_SESSION['pass']="aaaa";

删除SESSION变量: unset($_SESSION['pass']);

注销用session_destroy()彻底终结session,session_destroy() 将重置 session,您将失去所有已存储的 session 数据。


原文地址:https://www.cnblogs.com/zox2011/p/2174756.html