PHP Cookie处理

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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python装饰器补充

带参装饰器 msg """ 1.QQ 2.wechat """ avg input(验证方式&#xff1a;)def auth(avg):def wrapper(f):def inner(*args,**kwargs):if avg QQ:user input(name)pwd input(password)if user alex and pwd 123456:f()else:print(输入错误)…

PHP-连接数据库

1.2 连接数据库 通过PHP做MySQL的客户端 1.2.1 开启mysqli扩展 在php.ini中开启mysqli扩展 extensionphp_mysqli.dll开启扩展后重启服务器&#xff0c;就可以使用mysqli_函数了&#xff0c;1.2.2 连接数据库 创建news数据库 -- 创建表 drop table if exists news; create …

python模块初始与time、datetime及random

模块初始与time、datetime及random 模块初始 模块的概念&#xff08;本质为一个py文件&#xff09; python模块可以将代码量较大的程序分割成多个有组织的、彼此独立但又能互相交互的代码片段&#xff0c;这些自我包含的有组织 的代码段就是模块&#xff0c;模块在物理形式上表…

PHP-面向对象编程教程

1.2 面向对象介绍 1.2.1 介绍 面向对象是一个编程思想。编程思想有面向过程和面向对象 面向过程&#xff1a;编程思路集中的是过程上 面向对象&#xff1a;编程思路集中在参与的对象 以去饭馆吃饭为例&#xff1a; ​ 面向过程&#xff1a;点菜——做菜——上菜——吃饭—…

vue-property-decorator使用指南

在Vue中使用TypeScript时&#xff0c;非常好用的一个库&#xff0c;使用装饰器来简化书写。 一、安装 npm i -S vue-property-decorator PropPropSyncProvideModelWatchInjectProvideEmitComponent (provided by vue-class-component)Mixins (the helper function named mix…

Java生鲜电商平台-统一异常处理及架构实战

Java生鲜电商平台-统一异常处理及架构实战 补充说明&#xff1a;本文讲得比较细&#xff0c;所以篇幅较长。 请认真读完&#xff0c;希望读完后能对统一异常处理有一个清晰的认识。 背景 软件开发过程中&#xff0c;不可避免的是需要处理各种异常&#xff0c;就我自己来说&…

VScode新建自定义模板快捷方式

VS新建vue文件的自定义模板 在使用vscode开发的时候&#xff0c;新建vue文件是不可或缺的&#xff0c;但是VSCode并没有vue文件的初始化模板&#xff0c;这个需要自定义模板。 我们可以使用vscode的snippets在新建.vue 文件后轻松获得一套模板。 具体步骤 打开VSCode -> …

ESLint Unary operator ‘++‘ used.

ESLint Unary operator used. 安装了ESLint&#xff0c;用这个工具之后发现居然不会写代码了。好尴尬~ 感觉自己以前写的JS都是假的... 没有操作 increment(state) {state.count ; },for(let i 0; i < temp.length; i} {//... } 然后报了如下错误 Unary operator u…

sencha touch笔记(6)——路由控制(1)

做项目的时候在界面的跳转上遇到了挺大的问题&#xff0c;本来跳转不想通过路由来控制的&#xff0c;没办法&#xff0c;只能再去看一下路由的跳转方式了。 应用程序的界面发生改变后&#xff0c;可以通过路由让应用程序的界面返回到改变之前的状态&#xff0c;例如浏览器中页面…

Angular rxjs operators 笔记

toArray /*toArray把结果都塞到数组里去 */ const source = interval(1000); const example = source.pipe(take(10),toArray() );example.subscribe(val => console.log(val)); // output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] toArray /*pairwise把相邻的两个流组成数组 */…

Angular rxjs Subject笔记

BehaviorSubject /*ehaviorSubject接受一个默认参数,相当于new Subject后自动next(aa)之后到行为和Subject一致 */ const behave = new BehaviorSubject(aa); behave.subscribe(res => {console.log(res)

面试39 MySQL读写分离

&#xff08;1&#xff09;如何实现mysql的读写分离&#xff1f; 其实很简单&#xff0c;就是基于主从复制架构&#xff0c;简单来说&#xff0c;就搞一个主库&#xff0c;挂多个从库&#xff0c;然后我们就单单只是写主库&#xff0c;然后主库会自动把数据给同步到从库上去。 …

Angular自学笔记(一)ngModule 元数据

工作硬上开发angular项目,好难啊,上网搜资料教程真的贼少,吐槽真的没什么人用angular,自己学习到处搜集整理的笔记,分享出来,方便查看理解总结。应该适用于angular11系列(更新真快,反正我也不知道之前低版本不同 手动狗头) 什么是angular module(ngModule)? angula…

cookbook_数据结构和算法

1.1将数据分解为单独的变量list_a [1,2,3,4,5,6,7,8,9] a,b,c,d,e,f,g,h,i list_a print(a,b,c,d,e,f,g,h,i) #使用相等数量的参数来接收_,b,c,d,e,f,g,h,_ list_a print(b,c,d,e,f,g,h) #不要的数据使用一个没有用的变量接收 View Code1.2从任意长度的可迭代对象中分解元素…

Angular自学笔记(二)显示数据 绑定属性

显示数据 1.显示数据 ng的模版中,默认用双大括号{{}}绑定组件中的变量显示出来 import {Component } from @angular/core; @Component({selector: app-root,template: `<h1>{{title}}</h1><h2>My favorite hero is: {{myHero}}</h2>`

机器学习概览

什么是机器学习&#xff1f; 广义概念&#xff1a; 机器学习是让计算机具有学习的能力&#xff0c;无需明确的编程 —— 亚瑟萨缪尔&#xff0c;1959 工程概念&#xff1a; 计算机程序利用经验 E 学习任务 T&#xff0c;性能是 P&#xff0c;如果针对任务 T 的性能 P 随着经验 …

Angular自学笔记(?)TemplateRef和ViewContainerRef

ElementRef 由于ng是跨平台的为了减少视图层和渲染层的耦合也为了让ng更适应多平台,ng帮我们封装了ElementRef,我们可以通过ElementRef拿到native元素(在浏览器中也就是我们常说的DOM元素) 下面我们看一段代码 import {Component, ElementRef, AfterViewInit } from @angu…

python之re模块

re模块 re&#xff08;正则&#xff09;简介 ​ 正则就是用一些具有特殊含义的符号组合到一起&#xff08;称为正则表达式&#xff09;来描述字符或者字符串的方法。或者说&#xff1a;正则就是用来描述一类事物的规则。 re元字符 元字符匹配内容\w匹配字母&#xff08;包含中文…

Angular自学笔记(?)ViewChild和ViewChildren

ViewChild 最好在ngAfterViewInit之后,获取模版上的内容 获取普通dom import {AfterViewInit, Component, ElementRef, OnInit, ViewChild} from @angular/core;@Component({selector: app-view-child

IPropertySet接口

Members AllProperties MethodsDescriptionCountThe number of properties contained in the property set.包含属性个数GetAllPropertiesThe name and value of all the properties in the property set.GetPropertiesThe values of the specified properties.GetPropertyThe …