PHP中Cookie的使用
1.什么是Cookie?
Cookie保存在客户端浏览器中,cookie是Http头的一部分,通过浏览器请求页面时,它会被通过Http头的形式发送过去。被请求的页面,可以通过PHP来获取cookie的值。
Cookie和浏览器和域名相关,不同浏览器各自存储,cookie只会在当前域名发送,其他域名不会带上cookie去请求。
2.设置Cookie:
语法:
bool setcookie( string name,[string value],[int expire],[string path],[string domain]);
参数说明:
name:cookie名(必填)
value:cookie值(可选)
expire:过期时间,时间戳格式(可选)。不设置则默认为会话级cookie,在浏览器关闭后cookie失效。
path:服务器端有效路径(可选)。默认为当前设置cookie时页面的路径,'/'表示整个域名有效,'/A'表示A分类目录下的页面有效。只有设置的路径包含的页面才可以拿到cookie值
domain:该cookie有效的域名(可选),只有指定的域名才可以拿到cookie,默认所有域名都可以拿到。 如,“www.php.com”,也可是“.php.com”。
实例:
setcookie('validCode','value',time()+3600*12,'/','www.test.com');
cookie名称:validCode
cookie值:value
过期时间:12小时后过期
可以拿到cookie的页面:所有页面
可以拿到cookie的域名:www.test.com
图文解析:
$cookieValue = 'value';
$flag = setcookie('validCode', $cookieValue,time()+60,'/');
首次设置,响应头Set-Cookie已经有名为validCode的信息了,表示该cookie已存放在硬盘中该浏览器的cookie目录里了
请求头里面此时还没携带改Cookie,下次请求就会带上了。
设置完成后再请求页面就会携带cookie了:(如果限制了路径或域名,则只会在指定的页面才会携带cookie去请求)
3.获取Cookie:
$cookieValue ='';
if (isset($_COOKIE['validCode'])) //首先判断是否已设置了该cookie
{
$cookieValue = $_COOKIE['validCode'];
}
4.销毁Cookie:
可以通过设置cookie过期时间为以前的时间点来销毁:
setcookie("user", "", time()-3600);
5.Cookie注意事项:
1、setcookie()之前不能有任何html输出,就是空格,空白行都不行。
2、setcookie()后,你在当前页调用echo $_COOKIE["name"]不会有输出。必须刷新或到下一个页面在过期之前才可以看到Cookie值。
3、由于cookie信息存储于用户的计算机中,那么就有可能伪造或修改Cookie从而造成Cookie 欺骗,一般可以对cookie的值进行加密来预防欺骗。读取Cookie的时候,对Cookie解密即可。
4、Cookie是保存在客户端的,用户禁用了Cookie,你的Cookie自然也就没作用啦!
站外扩展:
PHP中Cookie的使用的更多相关文章
- JavaScript中Cookie的用法
Javascript中Cookie主要存储于客户端的计算机中,用于存放已访问的站点信息,Cookie最大约为4k.以下实例主要用于页面在刷新时保存数据,具体的用法如下所示: <html> ...
- Python中Cookie的处理(一)Cookie库
Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理.要在用户浏览器上安装cookie,HTTP服务器向HTTP响应添加类似以下内容的HTTP报头: Set-Cookie:session= ...
- 使用OKHttp模拟登陆知乎,兼谈OKHttp中Cookie的使用!
本文主要是想和大家探讨技术,让大家学会Cookie的使用,切勿做违法之事! 很多Android初学者在刚开始学习的时候,或多或少都想自己搞个应用出来,把自己学的十八般武艺全都用在这个APP上,其实这个 ...
- php中cookie实现二级域名可访问操作的方法
本文实例讲述了php中cookie实现二级域名可访问操作的方法.分享给大家供大家参考.具体方法如下: cookie在一些应用中很常用,假设我有一个多级域名要求可以同时访问主域名绑定的cookie,下面 ...
- Laravel5中Cookie的使用
今天在Laravel框架中使用Cookie的时候,碰到了点问题,自己被迷糊折腾了半多小时.期间研究了Cookie的实现类,也在网站找了许多的资料,包括问答.发现并没有解决问题.网上的答案都是互相抄袭, ...
- lr 中cookie的解释与用法
Loadrunner 中 cookie 解释与用法loadrunner 中与 cookie 处理相关的常用函数如下: web_add_cookie(): 添加新的 cookie 或者修改已经存在的 c ...
- 【转】彻底搞清C#中cookie的内容
http://blog.163.com/sea_haitao/blog/static/77562162012027111212610/ 花了2天时间,彻底搞清C#中cookie的内容,搞清以下内容将让 ...
- PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆
PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆 什么是cookie 服务器在客户端保存用户的信息,比如登录名,密码等 这些数 ...
- ASP.NET中Cookie跨域的问题及解决代码
ASP.NET中Cookie跨域的问题及解决代码 http://www.liyumei.net.cn/post/share18.html Cookies揭秘 http://www.cnblogs.c ...
随机推荐
- 漫画:什么是HashMap?
漫画系列摘抄自程序员小灰的博客https://blog.csdn.net/bjweimengshu/article/list/3?t=1 ------------------------------- ...
- maven项目中,lib目录下有自己私有的包,则需要配置一下代码,然后进行打包
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compi ...
- 使用HTML5中postMessage 实现ajax中的POST跨域问题
HTML5中提供了在网页文档之间相互接收与发送信息的功能.使用这个功能,只要获取到网页所在窗口对象的实例,不仅仅同源(域+端口号)的web网页之间可以互相通信,甚至可以实现跨域通信. 浏览器支持程度: ...
- js 动态声明变量(eval)
eval()可以将一段字符串当作js代码来执行. 动态声明变量(字符串)可通过eval(字符串)来实现.举例如下: var Thread_num=5; for(var i=1;i<=Thread ...
- php连接mysql...mysqli和mysql
mysql_connect()这一系列函数已经不推荐使用了,不安全. <?php $con = mysql_connect('localhost','root','');// 选择连接数据库系统 ...
- Swift - 给图片和按钮添加阴影边框
最近比较忙,想要做的事情有很多,能做出来的就只有一部份,我觉得也许是我没有计划和规律造成的,我需要坚持下去,今天写了一个swift2.0给按钮或者图片添加阴影的效果,就当做笔记吧:-) Swift C ...
- 20155321 《网络攻防》 Exp1 PC平台逆向破解(5)M
20155321 <网络攻防> Exp1 PC平台逆向破解(5)M 实践目标 本次实践的对象是linux的可执行文件 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何 ...
- 20155333 《网络对抗》Exp3 免杀原理与实践
20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...
- VS Code使用Git管理代码
Visual Studio Code(简称VS Code)是一个轻量级且强大的代码编辑器,后台是微软,支持Windows.Mac和Linux操作系统,拥有丰富的插件生态系统,可通过安装插件来支持C++ ...
- JVM技术周报第1期
JVM技术周报 · 第1期 JVM技术每周分享整理了JVM技术交流群每周讨论的内容,由群内成员整理归纳而成.如果你有兴趣入群讨论,请关注「Java技术精选」公众号,通过右下角菜单「入群交流」加我好友, ...