会话控制:Cookie和session
HTTP(超文本传输协议)定义了通过万维网(WWW)传输文本、图形、视频和所有其他数据所有的规则。HTTP是一种无状态的协议,说明每次请求的处理都与之前或之后的请求无关。虽然这种简化实现对于HTTP的普及做出了卓越的贡献,但对于希望创建复杂的Web应用程序的开发人员来说,这点有点困扰。为了解决这个问题,出现了一种在客户端机器上存储少量信息(cookie)。
由于cookie大小限制、数量及其他原因,开发人员又提出了一种解决方案:session会话处理。
一.Cookie的应用
//1 创建一个Cookie
//Cookie是在你的客户机存的一个小文件,这个文件包含你登录的信息
//第一个参数表示Cookie的名,第二个表示Cookie的值,第三个参数过期时间
setcookie('name','lee',time()+(7*24*60*60)); //2 读取本机的Cookie,采用一个超级全局变量$_COOKIE
//有个特性,setcookie并不是即使生成,它会慢一拍,意思就是第一次刷新只是覆盖了原来的,获取的还是原来的,但用的时候对我们没影响
echo $_COOKIE['name']; //3 用变量检测判断Cookie是否存在
echo isset($_COOKIE['name']); //4 删除Cookie
setcookie('name',''); //将值设置为空即可
setcookie('name','lee',time()-1); //通过过期时间也可以 //5 Cookie的限制
//1、必须在HTML文件的内容输出之前设置;
//2、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。
//3、限制是在客户端的。一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。
Cookie登录例子:如果username和指定的姓名相同就登录
demo1:
<form method="post" action='demo2.php'>
姓名:<input type='text' name='username' />
<input type='submit' name='send' value='提交' />
</form>
demo2.php:
//例子:如果username和指定的姓名相同,那么就生成一个cookie
//完成登录
if (isset($_POST['username']) && $_POST['username']=='dangxm') {
//如果成功,生成一个Cookie,再跳转
setcookie('name','dangxm');
header('Location:demo3.php');
}else {
header('Location:demo.php');
}
demo3.php:
<?php
if (isset($_COOKIE['name'])){
echo '欢迎光临:'.$_COOKIE['name'];
}else {
echo '非法登录';
} ?>
二.Session会话处理
//Session会话处理,存在服务端,一般存放1440秒
//如果没有进行任何操作,会自动销毁,可以通过php.ini来修改默认时间
//即时性的,不会像Cookie慢半拍 //1 开启会话,只要用到,必须开启,一般放在文件开头
session_start();
//2 创建session
$_SESSION['name']='lee';
//3 取值
echo $_SESSION['name'];
//4 判断是否存在
if(isset($_SESSION['name'])){
echo $_SESSION;
}else {
echo "session不存在";
}
//5 删除session:unset();
unset($_SESSION['name']);
session_destroy();//销毁所有session,一般放在session_start();后用来销毁之前创建的所有session
Cookie使用于会员登录,购物车
因为不占有服务器资源,所以会员特别多,购物车特别多,就用Cookie
session一般用于后台管理登录,人少
安全性,一段时间不操作会自动登录
会话控制:Cookie和session的更多相关文章
- http协议。会话控制cookie、session
http协议是无状态的协议.每次访问页面的http协议都是独立的,正是因为http协议是无状态的,所以导致访问一个页面后再去访问另一个页面的时候,一些数据会消失,比如:用户的登录信息就会消失.那么怎么 ...
- 会话控制cookie和session
Cookie Cookie简介 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分中两次请求是否由一个客户端发出.这样的设计严重阻碍的Web程序的设计.如:在我们进行网购时, ...
- 会话控制——Cookie和Session
Cookie简介 l HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分中两次请求是否由一个客户端发出.这样的设计严重阻碍的Web程序的设计.如:在我们进行网购时,买了一条 ...
- 会话技术: Cookie 和 Session
会话技术 会话技术:从浏览器开始访问服务器,到关闭浏览器,这期间发生了许多次请求和响应,这个过程就叫做一次会话. Cookie 和 Session 都是处理会话技术的两种具体实现,Cookie将数据保 ...
- 会话技术cookie和session详解
什么是会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话技术解决了什么问题 每个用户与服务器进行交互的过程中,各自会有一 ...
- PHP-会话控制Cookie和Session
会话控制:就是为了我们在访问页面和页面之间的跳转是,能够识别到你的登录状态,已经你的登录时长等 在php的会话控制当中,涉及到两个概念Cookie和Session Cookie 会话控制 原理:在登录 ...
- 会话管理---Cookie与Session
会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 保存会话数据的两种技术:Cookie,Session Cookie是客户端技术, ...
- 会话跟踪Cookie与Session
会话跟踪用来跟踪用户的整个会话,常用的是Session和Cookie.Cookie通过客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.Cookie 1.1概念及使 ...
- Servlet 会话技术cookie和session
会话技术 Cookie技术:会话数据保存在浏览器客户端. Session技术:会话数据保存在服务器端. 一.Cooke技术 1. 特点 Cookie技术:会话数据保存在浏览器客户端. 2 .Cooki ...
随机推荐
- .Net Core Linux centos7行—.net core json 配置文件
.net core 对配置系统做出了大幅度更新,不在局限于之前的*.xml配置方式.现在支持json,xml,ini,in memory,环境变量等等.毫无疑问的是,现在的json配置文件是.net ...
- ABP之依赖注入
写在开头 ABP开源项目最近有点小火,还开展了线下活动.本着学习DDD的心态与学习开源代码的的好奇,我也看了一遍ABP源码,在此将自己学习ABP的一些心得记录下来. 作为核心的IoC 作为一种解耦的方 ...
- hibernate在使用getCurrentSession时提示no session found for current thread
大致错误片段 org.hibernate.HibernateException: No Session found for current thread at org.springframework. ...
- 从基层容器类看万变不离其宗的JAVA继承体系
以容器类为例子,可以观一叶而知秋,看看以前的前辈们是如何处理各种面向对象思想下的继承体系的.读的源代码越多,就越要总结这个继承关系否则读的多也忘得快. 首先摆上一张图片: 看到这张图很多人就慌了,难道 ...
- .NET 微信Token验证和消息接收和回复
public class wxXmlModel { public string ToUserName { get; set; } public string FromUserName { get; s ...
- 8 HTML&JS等前端知识系列之Ajax的例子
what is ajax ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新 ...
- js下载浏览器中的图片
jquery function download(src) { var $a = $("<a></a>").attr("href", s ...
- PHP文件大小格式化函数合集
比如碰到一个很大的文件有49957289167B,大家一看这么一长串的数字后面单位是字节B,还是不知道这个文件的大小是一个什么概念,我们把它转换成GB为单位,就是46.53GB.用下面这些函数就可以完 ...
- A=AUB
#include<stdio.h>#include<stdlib.h> #define LIST_MAX 10#define LIST_ADD 2 typedef struct ...
- 挣值管理(PV、EV、AC、SV、CV、SPI、CPI) 记忆
挣值管理法中的PV.EV.AC.SV.CV.SPI.CPI这些英文简写相信把大家都搞得晕头转向的.在挣值管理法中,需要记忆理解的有三个参数:PV.AC.EV. PV:计划值,在即定时间点前计划 ...