百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

php中session和cookie的使用及区别

yuyutoo 2024-10-12 01:26 7 浏览 0 评论

1.cookie的使用

什么是 Cookie?

cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。

如何创建 cookie?

setcookie() 函数用于设置 cookie。setcookie(name, value, expire, path, domain); //setcookie("user", "Alex Porter", time()+3600);

注释:setcookie() 函数必须位于 <html> 标签之前。

如何取回 Cookie 的值?

$_COOKIE 变量用于取回 cookie 的值。

使用 isset() 函数来确认是否已设置了 cookie:

如何删除 cookie?

当删除 cookie 时,您应当使过期日期变更为过去的时间点。//setcookie("user", "", time()-3600);

2.session的使用

如何创建 session?

session_start() 函数启动会话。

存储 Session 变量

$_SESSION 变量赋值

isset() 函数检测是否已设置

终结 Session

如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。

3.它们之间的区别

Session保留在服务器端,给每个客户分配一个唯一的数字,作为每个客户的标识,

Cookies是保留在客户端的,每次发出页面请求时,都会把里面的数据发送给服务器端.

Cookies适合做保存用户的个人设置,爱好等,Session适合做客户的身份验证.

session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。

session中保存的是对象,cookie中保存的是字符串。

session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。

session需要借助cookie才能正常工作。如果客户端完全禁止cookie,session将失效。

两个都可以用来存私密的东西,同样也都有有效期的说法。

session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过期与否可以在cookie生成的时候设置进去。

cookie 也可以设置成关闭浏览器既消失.

cookie数据存放在客户的浏览器上,session数据放在服务器上

cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session

session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE

单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K。

一个web站点向客户端发送的cookie不得超过20个,

一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB

其次不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。比如:MS IE+SERVICE PACK 1

不能正确处理带域名和路径的Cookie ,Netscape Communicator 4.05和MS IE 3.0不能正确处理不带路径和

时间的Cookie。至于MS IE 5 好象不能处理带域名、路径和时间的Cookie。 一般做用户登陆用session

存放用户其他信息可以用cookie,比如一个网上商城没有会员系统的话,可以有cookie来存放他放到购物车里的东西.

相关推荐

MATLAB实例讲解—求二元函数的极值

实例程序...

解析式大赛的获奖作品代码和公式公布啦!

上方超级数学建模可加关注传播数学干货,学会理性的方式去思考问题大家期待已久的运行代码终于新鲜出炉了!!!抱歉让各位粉丝久等了接下来就是揭秘奇迹的时刻1、emoji解析式:无代码:holdon...

基于MATLAB的ACC控制算法设计及仿真测试

作者...

MATLAB基础学习之坐标转换(matlab改坐标)

(一)平面坐标转换1.cart2pol:将笛卡尔坐标转换为极坐标;2.pol2cart:将极坐标转换为笛卡尔坐标;(二)立体坐标转换1.cart2sph:将笛卡尔坐标转换为极坐标;2.sph2cart...

Java NIO:从 Buffer、Channel、Selector 到 Zero-copy、I/O 多路复用

NIO...

「太极创客」零基础入门学用物联网 - MQTT篇 1-9 自我测试

到目前为止,我们已经掌握了MQTT通讯的基本流程以及如何使用ESP8266来发布和订阅MQTT消息。这节课我们来进行自我测试。...

用豆包改了一下午程序,感觉它聪明得超乎想象

之前低估了AI的聪明程度,AI持续学习下去,未来可以做的事情太多了,编程已经算是比较复杂的事情都能完成得这么好,那些项目计划、工作报告更是小儿科。今天用豆包改了几个程序,提出的BUG也能修改完成...

Node-Media-Server开源流行Nodejs流媒体服务器

简介Node-Media-Server一个Node.js实现的RTMP/HTTP/WebSocket/HLS/DASH流媒体服务器。开源github地址:https://github.com/il...

如何应对 RAG 开发挑战?12 个痛点逐一击破

受到论文《SevenFailurePointsWhenEngineeringaRetrievalAugmentedGenerationSystem》的启发,并结合实际开发RAG(检...

团队协作-代码格式化工具clang-format

环境:clang-format:10.0.0前言统一的代码规范对于整个团队来说十分重要,通过git/svn在提交前进行统一的ClangFormat格式化,可以有效避免由于人工操作带来的代码格式问题。C...

如何编写自己的Arduino库?(arduino怎么自己写库)

支持一对一答疑的购买地址...

Auto CAD 命令(A)(cad命令aaw)

ABOUT(命令)显示有关产品的信息。...

一文读懂设计模式,看这篇就够了(设计模式是干嘛的)

转载:javadoop.com/post/design-pattern一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混。自认为本文还是写得不错的,花...

ASL开发者指南:构建健壮高效的C++应用

1.库介绍AdobeSourceLibraries(ASL),现在由stlab维护,是一组专注于提供高质量、经过实战检验的C++组件的集合。它最初由Adobe公司开发,旨在解决构建...

linux下GDB使用方法(linux怎么用gdb调试)

gdb是GNU开源组织发布的一个强大的Linux下的程序调试工具。一般来说,GDB主要帮助你完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2、可让被调试的程...

取消回复欢迎 发表评论: