PHP Session与Cookie详解及设置方法
74 浏览量
更新于2024-08-31
收藏 97KB PDF 举报
"php session和cookie使用说明"
在Web开发中,PHP提供了两种主要的方式来存储用户会话信息:session和cookie。它们都是用来跟踪用户状态,但工作方式有所不同。
1. PHP的COOKIE
Cookie是服务器存储在用户浏览器上的小型文本文件,用于识别用户身份和保存用户偏好等信息。在PHP中,我们可以通过`setcookie()`函数来设置cookie。这个函数有多个参数,包括:
- `name`:cookie的名称。
- `value`:cookie的值。
- `expire`:cookie的过期时间,通常以Unix时间戳形式给出。
- `path`:cookie在哪个URL路径下有效,默认是当前脚本所在的路径。
- `domain`:cookie在哪个域名下有效。
- `secure`:如果设置为true(1),则cookie将在HTTPS连接上发送;默认情况下,它可以在HTTP或HTTPS上发送。
- `httponly`:如果设置为true(1),则禁止JavaScript访问cookie,以增加安全性。
例如,以下代码创建了一个名为"TestCookie",有效期为1小时的cookie:
```php
<?php
$value = 'somethingfromsomewhere';
setcookie("TestCookie", $value, time() + 3600);
?>
```
除了`setcookie()`,还可以使用`header()`函数直接设置HTTP头来创建cookie,格式如下:
```php
header("Set-Cookie: name=value[; path=path][; domain=domain]");
```
例如:
```php
header("Set-Cookie: TestCookie=$value; expires=Thu, 01-Jan-2000 00:00:01 GMT; path=/~rasmus/; domain=.example.com; secure");
```
2. PHP的SESSION
Session是服务器端存储用户会话信息的一种方式,相比于cookie更安全,因为它不直接将敏感数据暴露给客户端。PHP会自动生成一个唯一的session ID,并将其作为cookie发送给浏览器,浏览器在后续请求中携带这个ID,PHP据此找到对应的session数据。
要开始一个新的session,需先调用`session_start()`函数。然后,你可以通过`$_SESSION`全局数组来存储和读取数据:
```php
<?php
session_start();
$_SESSION['username'] = 'John Doe';
echo 'Hello, ' . $_SESSION['username'];
?>
```
当不再需要session时,使用`session_destroy()`函数来清除session数据。
总结来说,cookie更适合存储不敏感的数据,如用户首选项,因为它们存储在客户端。而session则适用于存储敏感信息,因为数据存储在服务器端。两者结合使用,可以提供更好的用户体验和安全性。
2019-04-30 上传
2011-11-17 上传
2015-12-28 上传
2020-12-18 上传
2020-10-27 上传
2021-01-21 上传
2016-04-23 上传
2020-10-22 上传
2020-10-16 上传
weixin_38567813
- 粉丝: 4
- 资源: 913
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程