如何利用好Cookie和Session来提高储存信息的安全性

在Web发展历史中,session与cookie都是伟大的存在,其初衷都是为了记住用户在网站上的浏览信息,如果没有其他替代品的出现,几乎所有web站点都离不开session与cookie。cookie、session的出现是由于Http协议是无状态的,导致服务器无法分辨是谁浏览了网页,为了维持用户在网站的状态,比如登陆、购物车等,先后出现了四种技术,分别是隐藏表单域、URL重写、cookie、session。由于cookie、session在日常中用的比较多,着重介绍下两者的区别和概念。

01 

Cookie

(1)Cookie的概念

储存在用户本地终端上的数据,是针对每一个网站的信息,每一个网站只对应一个,其它网站不能访问,这个文件是保存在客户端的,每次你打开相应网站,浏览器会查找这个网站的cookies,如果有就会将这个文件发送出去。cookies文件的内容大致包含这些信息如用户名,密码,设置等。由服务器发送出来以存储在浏览器上,从而下次这位访客又回到该网络服务器时,可从该浏览器读回此信息。

(2)Cookie的分类

目前有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除 。

持续的 Cookie 则保存在用户的 Cookie 文件中,下一次用户返回时,仍然可以对它进行调用。在 Cookie 文件中保存 Cookie,有些用户担心 Cookie 中的用户信息被一些别有用心的人窃取,而造成一定的损害。

其实,网站以外的用户无法跨过网站来获得 Cookie 信息。如果因为这种担心而屏蔽 Cookie,肯定会因此拒绝访问许多站点页面。因为,当今有许多 Web 站点开发人员使用 Cookie 技术,例如 Session 对象的使用就离不开 Cookie 的支持 。

02 

Session

(1)Session的概念

Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。以及如果需要的话,可能还有一定的操作空间。

具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到关闭浏览器所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。

是针对每一个用户的,session机制是一种服务器端的机制。只有客户机访问,程序就会为这个客户新增一个session。session里主要保存的是需要在整个用户会话过程中保持其状态的信息,例如登录信息或用户浏览 Web应用程序时需要的其它信息,存储只需要在页面重新加载过程中或按功能分组的一组页之间保持其状态的对象。

(2)Session的作用

Session 的作用就是它在 Web服务器上保持用户的状态信息供在任何时间从任何设备上的页面进行访问。因为浏览器不需要存储任何这种信息,所以可以使用任何浏览器,即使是像 Pad 或手机这样的浏览器设备。

03

(1)Cookie和Session的对比

(2)小结

具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。cookie针对每一个网站,session针对每一个用户。

个人建议:将登陆信息等重要信息存放为SESSION,其他信息如果需要保留,可以放在COOKIE中。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术博文

linux 设置中文版man手册

作为CentOS 新手,看懂英文man固然重要,不过配置好中文man也可以让自己更快速地学习! 1. 下载中文man包 源码的网址:https://src.fe...

3205
来自专栏酷玩时刻

H5仿微信支付键盘

视频地址:https://github.com/Javen205/IJPay-Demo/blob/master/doc/pay_keyboard.m4v

1312
来自专栏全栈之路

VUE之组件全局方法

全局方法其实是js自身就可以实现的方法,具体实现其实很简单, 比如加个日志显示组件:

2403
来自专栏老安的博客

docker 容积硬盘扩容小坑一个

1353
来自专栏安恒信息

Apache Tomcat 安全漏洞预警

1 Apache Optionsbleed 漏洞跟进 2017年9月18日,Apache公告了HTTP OPTIONS方法内存泄露漏洞,代号“Optionsbl...

3397
来自专栏PHP在线

web缓存的作用和类型

前言&摘要 这段时间的工作内容主要是为一个客户端类型的产品增加文档在线存储和文档在线预览相关特性。由于测试的同事比较细心和专业,发现了项目实现中一些效 率低下的...

3495
来自专栏数据和云

故障诊断 | 存储Cache丢失导致数据库无法open的案例分享

当存储Cache由于丢失时,我们应该如何处理,让数据库重新能够open起来呢?让我们听听,云和恩墨 ACE 李真旭分享的这篇案例。 发现问题 最近某客户的一套核...

3398
来自专栏后端技术探索

分布式系统一致性问题解决实战

商户提交表单数据至旺铺(deco项目,以下皆称为deco),deco需要接入poi系统进行装修内容的人工审核,详细流程见下图。

1112
来自专栏张戈的专栏

Linux操作系统DNS解析(nameserver)监控脚本

一、起因 昨天,开发组兄弟发现 resin 日志出现不少支付宝业务报错信息,用户用支付宝购买了产品,钱到账后公司系统却未返回支付成功状态! 这还得了?用户明明支...

4094
来自专栏hbbliyong

运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决

删除文件后再次运行yum可用。 --------------------- 作者:黯淡荣耀 来源:CSDN 原文:https://blog.csdn.ne...

1622

扫码关注云+社区