Cookie 是什么?

cookie是保存在客户端的信息包(一个文件)
cookie 常用于识别用户。
cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。

如何创建 Cookie?

setcookie() 函数用于设置 cookie。s
注释:setcookie() 函数必须位于 标签之前。
语法:

setcookie(name, value, expire, path, domain);

注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码。(为防止 URL 编码,请使用 setrawcookie() 取而代之。)
注:

  1. 在响应头中可以看到cookie的信息
  2. 客户端有cookei信息后,每次请求服务器,cookie的信息都会自动的放到请求头中带到服务器。

如何取回 Cookie 的值?

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

在下面的实例中,我们取回了名为 “user” 的 cookie 的值,并把它显示在了页面上:

<?php
// 输出 cookie 值
echo $_COOKIE["user"];// 查看所有 cookie
print_r($_COOKIE);
?>

注意:

1、关闭浏览器后,cookie消失。这种cookie称为临时性cookie

2、cookie的信息不可以在不同的浏览器中共享,不可以跨浏览器。

临时性cookie:
说明:关闭浏览器后,cookie的值消失

永久性cookie
说明:关闭浏览器后cookie的值不消失
语法:给cookie添加过期时间就形成了永久性cookie,过期时间是时间类型是时间戳
eg。

$time=time()+3600;
setcookie('name','tom',$time);   //cookie的有效时间是3600秒

cookie的有效目录

cookie默认在当前目录及子目录中有效

cookie一般要设置在整站有效

setcookie('name','tom',0,'/');  //   /表示根目录

支持子域名

场景:每个域名代码一个网站,网站之间的cookie是不可以相互访问的。

多个子域名下如何实现cookie共享:
问题:百度下有多个二级域名的网站,他们自己的cookie是要共享的,如何实现?

<?php//在baidu.com域名下都有效
setcookie('name','tom',0,'/','baidu.com');
?>
<a href="http://www.bb.baidu.com/bb.php">跳转</a>

是否安全传输

安全传输就是https传输。

默认情况下https和http都可以传输cookie

setcookie('name','tom',0,'/','',true);    //   true表示只能是https传输

是否安全访问

默认情况下,PHP和JS都可以访问cookie

安全访问:PHP可以访问,JS不可以 默认是false。
php代码:

<?php
setcookie('name','tom',0,'/','',false,true);
?>
<a href="/5-demo2.php">跳转</a>

html代码:

<?php
echo $_COOKIE['name'],'<br>';     //PHP获取cookie
?><script type="text/javascript">document.write(document.cookie);  //js获取cookie
</script>

删除cookie

注意:cookie中只能保存数字和字符串。

<?php
//setcookie('name',false);            //删除cookie方法一
//setcookie('name');              //删除cookie方法二
setcookie('name','tom',time()-1);   //删除cookie方法三

cookie的缺点

1、因为在浏览器中可以看到cookie 的值,所以安全性低

2、因为只能保存字符串和数字,所以可控性差

3、因为数据放在请求头中传输,增加了请求时候的数据负载。

4、因为数据存储在浏览器中,但浏览器存储空间是有吸限制的,一般是4K。

PHP Cookie处理相关推荐

  1. HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)

    TCP/IP协议族 在介绍 HTTP 协议之前,我们先对 TCP/IP 协议族有个大概的了解,TCP/IP 协议从上到下主要分为应用层.传输层.网络层和数据链路层,各层的主要功能如下表所示: 协议层 ...

  2. cookie 免密登录_python

    我们都知道 HTTP 是无状态的,用户每次打开 web 页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,那么服务器是怎么识别用户的呢? 这就是本文今天要讲解的内容.当服务端需要 ...

  3. 你想了解的Cookie和Session就在这~

    目录 1.会话的概念 2.保存会话的两种技术 3.Cookie 4.Session(重点) 1.会话的概念 我们知道session的意思就是会话,Cookie和Session 是两种会话技术,我们首先 ...

  4. Cookie和Session的区别与联系

    Cookie和Session Session 会话的理解 Session的作用 HTTP协议的无状态特点 Session的实现原理(重点) Session常用方法: Cookie 基本介绍 经典案例 ...

  5. java爬取验证码图片_JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取)...

    JAVA HttpClient实现页面信息抓取(获取图片验证码并传入cookie实现信息获取) 发布时间:2018-05-18 16:41, 浏览次数:632 , 标签: JAVA HttpClien ...

  6. cookie用法之一,最简单cookie操作

    一.先引用封装好的JS<script src="https://img.huiyiguanjia.com/cdnfile/public/publicfunction.js"& ...

  7. redis缓存和cookie实现Session共享

    分布式项目中要实现单点登录(SSO - Single Sign On):对于同一个客户端(例如 Chrome 浏览器),只要登录了一个子站(例如 a.com),则所有子站(b.com.c.com)都认 ...

  8. 关于cookie与本地 存储的区别的问题。

    1. cookie在浏览器和服务器间来回传递.而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存. 2. cookie数据还有路径(path)的概念,可以限 ...

  9. 不同级域名中的 Cookie 共享

    HTTP 响应头中 Set-Cookie 行未指定 domain 时则设置访问的域名 seliote.com 可以设置 seliote.com(也可以写成 .seliote.com 意思一样) 与 w ...

  10. 手动添加Cookie

    Controller设置Cookie第一种方式: 写:Response.SetCookie(new HttpCookie("mycookie"){ Value="1234 ...

最新文章

  1. IT规划的企业应用实践(6)研究背景 之 企业信息化建设的诉求
  2. php实现socket
  3. 前端白屏问题_前端优化-如何计算白屏和首屏时间
  4. oracle中导入导出数据备份数据库
  5. HDU - 3571 HDU CakeMan(bfs+最短路必经点)
  6. elasticsearch 安装过程中可遇到的问题
  7. 华北水利水电大学计算机研究生调剂,2017年华北水利水电大学考研调剂公告
  8. dotNet基于office实现word转pdf
  9. js清空浏览器cokie缓存_JS设置cookie,删除cookie
  10. 深度学习前沿技术摘要
  11. 【STM32学习】(22)STM32实现360度旋转编码器
  12. linux 下的无线网络配置,详解在LINUX环境下怎样设置无线网络配置
  13. 基因大数据在生活中的应用
  14. 【PYTHON】 Pilow 将半透明图片绘制到图片中
  15. 《web开发: 数据可视化(Echarts)介绍》
  16. 浅谈利用NLG技术来进行游戏自动化(生成随机剧情随机对话)的可行性
  17. ISMS整体项目进度表
  18. 跟紧时代的脚步:梦想是一定要有的,万一实现了呢!
  19. 2个硬盘对拷操作图解步骤
  20. ElasticJob Lite Console 处于分片待调整状态,无法触发解决方案

热门文章

  1. 图论--网络流--最大流 洛谷P4722(hlpp)
  2. mapreduce之partition分区
  3. 太监式的自主知识产权研发特色 (Z)
  4. TensorFlow:实战Google深度学习框架(三)深层神经网络
  5. 无监督学习 k-means_无监督学习-第2部分
  6. opencv 运动追踪_足球运动员追踪-使用OpenCV根据运动员的球衣颜色识别运动员的球队
  7. 信用卡消费退款,商家让客户付手续费,合理吗?
  8. DOA——ESPRIT算法
  9. 奇异递归模板模式(Curiously Recurring Template Pattern,CRTP)
  10. oracle数据库访问sqlserver2008,透过SQL Server 2008访问Oracle 10g的配置方法