这篇文章主要介绍了关于PHP 中cookie 和session的联系以及session配置 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
一、设置cookie :
setcookie(cookie键的名称,值,过期时间); setcookie('mainuser','YUEWEN',time()+3600);
二、读取cookie :
echo $_COOKIE['mainuser'];
三、删除cookie :将有效期设置为过去时间
setcookie('mainuser',time()-60);
四、设置session:
$_SESSION['Muser'] = 'HUAXIANG';
五、读取session:
echo $_SESSION['Muser']';
六、删除SESSION:
$_SSESSION = array(); //将session的值全部清空,文件保留 unset($_SESSION['Muser']); //将该session删除 session_destroy(); //将session连同文件一并删除
七、cookie 与session的区别:
cookie 存储在客户端,session存储在服务器端。
cookie 因为存储在客户端,所以安全性较低(有篡改的风险),session安全性较高。
cookie 有大小限制,为4K,仅能存储20个cookie ,session没有限制(cookie需形成响应头报文不能太冗长)。
cookie 仅支持存储字符串,session可以存储所有类型(文件,序列化字符串)。
八、cookie 和session 共同点:
同样是会话技术,为http协议提供记忆功能,共享不同页面设置的数据;
九、cookie 与session的联系:
1、session依赖于cookie ,因为HTTP协议是无状态,服务器端保存状态也需要在客户端存储一个标识,这个标识存储于cookie 中,默认键为$_COOKIE['PHPSESSID']:
F12-Network-Response Headers 显示信息:
Set-Cookie: PHPSESSID=erv417ai3mh5p85kp9cvasdc46;
2、生成该文件后,再次请求则根据此PHPSESSIONID的值直接读取对应文件的信息,无需再次设置cookie ;
F12-Network-Request Headers 显示信息:
Cookie: PHPSESSID=erv417ai3mh5p85kp9cvasdc46
3、session基于cookie使用,如将cookie禁掉,则session不可用;
禁用cookie后可通过get或post方式将PHPSESSID传递到服务器 ,
或者修改配置:
session.use_only_cookies=0; session.use_trans_sid=1
4.session有关配置:
php.ini 查找[session]下: (.htaccess及程序代码ini_set( )可改,具体根据PHP官方手册的函数设置规则)
session.save_handler = files //设置session保存方式(文件);可改为memeche,redis等缓存保存; session.save_path = D:/temp //session保存路径; session.use_cookies = 1 //session是否使用cookie的功能(预设1,启动),session基于cookie使用; session.name = PHPSESSION //session传递到cookie的键名,于网络的请求/响应头可查看; session.auto_start = 0 //是否自动启动session(预设0),一般不设置为1,因自动启动将每次自动调用session_start( )时向响应头传递session数据,将影响对图片文件的处理; session.cookie_lifetime = 0 //(预设0,随浏览器关闭而消失),session使用cookie的生存期,以秒为单位; session.cookie_path = / //session使用cookie的有效路径,预设为在项目根目录下有效; session.serialize_handler = php // 序列化和反序列化处理器; session.gc_probebility = 1 //(分子)垃圾收集的处理几率(预设:1); session.gc_pisor = 1000 //(分母)设置进程比率(php5新增参数),按千分之一的比率进行垃圾收集,即当session失效时删除垃圾文件,根据实际需要设置,如果100/100几率则太消耗服务器资源; session.gc_maxlifetime = 1440 //被处理钱session文件的生存期(预设:1440秒),以上三项参数同时设置;
session小应用:防止刷新执行操作:
if (!empty($_POST) && !isset($_SESSION['flag'])) { $res = fopen('a.txt','a'); //只写 $bool = fwrite($res,$_POST['username']); fclose($res); $_SESSION['flag'] = 1; //第二次刷新请求该值则已存在,不执行以上程序 }
相关推荐:
理解PHP中的Session及对Session有效期的控制,session有效期
以上是PHP 中cookie 和session的联系以及session配置的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了PHP中的crypt()和password_hash()之间的差异,以进行密码哈希,重点介绍其实施,安全性和对现代Web应用程序的适用性。

文章讨论了通过输入验证,输出编码以及使用OWASP ESAPI和HTML净化器之类的工具来防止PHP中的跨站点脚本(XSS)。

自动加载PHP会在需要时自动加载类文件,从而通过减少内存使用和增强代码组织来提高性能。最佳实践包括使用PSR-4和有效组织代码。

本文讨论了在PHP中管理文件上传大小的管理,重点是2MB的默认限制以及如何通过修改PHP.INI设置来增加它。

本文讨论了PHP 7.1中引入的PHP中的无效类型,允许变量或参数为指定类型或NULL。它突出显示了诸如提高可读性,类型安全性和明确意图的好处,并解释了如何声明

本文讨论了unset()和unlink()功能在编程中的差异,重点关注其目的和用例。 unset()从内存中删除变量,而unlink()从文件系统中删除文件。两者都对效率至关重要


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Dreamweaver CS6
视觉化网页开发工具

Dreamweaver Mac版
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具