cookie和session

session:
session在网络应用中称为 会话控制。
session对象存储特定用户会话所需要的属性以及配置信息,作用是当用户在web页面之间进行跳转是,存储在session对象中的变量将不会丢失,而是一直存在,直到退出(浏览器)。 session又翻译为时域,是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。

我对cookie的理解:
用户在网页输入账号和密码,网页的客户端会发送一个“密匙”到服务器端,这”密匙“相当于是电脑理解的账号和密码。
(至于为什么这么麻烦,因为电脑比起名字(中文),字母,它更加喜欢数字,因为电脑就是二进制发展来的)
这时登录的方法就有两个了,一个是输入正确的账户和密码,还有一个就是拿这“密匙”给后端服务器进行验证。
(为什么多了一个登录方法?因为这是浏览器为了方便用户做出的让步,比如记住密码 ! 而且不止这一点,假如要求登录认证的web页面本身无法进行状态的管理(不记录登录的状态),那么浏览器为了不让用户每次刷新都要重新输入账户和密码也会生出一个cookie,简单来说就是web后端如果太老旧或者安全级别太低,那么也会出现这个漏洞。 )
这也是为什么黑客会想要得到用户的cookie信息,因为cookie就是登陆的密码!

session和cookie之间的区别:
cookie:

cookie是用户端存储用户信息的一种机制,用来记录用户的一些信息,cookie 是存储在客户端的,每次HTTP请求时,客户端都会发送相应的cookie 信息到服务端,他的过期时间可以任意设置,而且可以保留很长的一段时间。

session:

session是在无状态下的HTTP 协议下,服务端记录用户状态时用户识别具体用户的机制。session是在服务器端。
session 的工作原理:
1。当一个session第一次被启用的时候,一个唯一的标识被存储于本地的cookie中。
2。调用session_start()函数,PHP从session仓库中加载存储的session变量。
3。当执行PHP脚本时,通过使用session_register()函数注册session变量。
4。当PHP 脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过PHP.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。

以上工作原理摘自搜狗百科:https://baike.sogou.com/m/v87702.htm

总结语:

1、Cookie 在客户端(浏览器),Session 在服务器端。

2、Cookie的安全性一般,他人可通过分析存放在本地的Cookie并进行Cookie欺骗。在安全性第一的前提下,选择Session更优。重要交互信息比如权限等就要放在Session中,一般的信息记录放Cookie就好了。

3、单个Cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个Cookie。

4、Session 可以放在 文件、数据库或内存中,比如在使用Node时将Session保存在redis中。由于一定时间内它是保存在服务器上的,当访问增多时,会较大地占用服务器的性能。考虑到减轻服务器性能方面,应当适时使用Cookie。

5、Session 的运行依赖Session ID,而 Session ID 是存在 Cookie 中的,也就是说,如果浏览器禁用了 Cookie,Session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 Session ID)。

6、用户验证这种场合一般会用 Session。因此,维持一个会话的核心就是客户端的唯一标识,即Session ID。

题外话,那么话说Session Cookie能被篡改么?

理论上可以,只要改变了连接时的Session ID 就可以了~
以上总结语摘自:https://zhuanlan.zhihu.com/p/27561547

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值