session与cookie的区别

先简单说下session与cookie的区别:

 

在网络上,临时cookie为用户浏览器关闭时消失的含有用户有关信息的小文件,有时也称通话cookie。跟永久cookie不一样,临时cookie不保存在硬盘驱动器而是存在临时存储器中,当浏览器关闭时,将被删除。 

  当应用程序创建cookie时,在设置Cookie选择项中不设置日期就可以创建临时cookie。(对于永久cookie,设置了截止日期,cookie保存在用户硬盘驱动器,直到截止日期或者用户的删除)。 

  临时cookie常常用于允许返回用户已经访问过的网站,从而可在一定程度用户化信息。有些网站使用加密套接字协议层(SSL)来加密cookie携带的信息。

 

详细说下

 

SESSION是可以存储针对与某一个用户的IE以及通过其当前窗口打开的任何窗口具有针对性的用户信息存储机制。为什么要这样说。看下边先研究SESSION是如何启动的,当打开IE以后浏览网站后会发出一个指令请求SESSIONID以及对各个类型数据的下载许可,如图片,声音以及FLASH。
数据实际传输内容:IE到服务器


GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Accept-Language0: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: www.souzz.net
on: Keep-Alive


服务器会返回一个没有被使用的SESSIONID让IE使用,当时IE就对返回SESSIONID做存储

并同时返回相关页面的下载数据,如下:服务器到IE


HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Sun, 30 Nov 2003 16:41:51 GMT
Content-Length: 21174..Content-Type: text/html
Set-Cookie: ASPSESSIONIDCACBBBRT=IBOMFONAOJFEEBHBPIENJFFC; path=/
Cache-control: private


然后就是页面HTML代码此时这个IE程序(不是客户机)的SESSIONID就为IBOMFONAOJFEEBHBPIENJFFC而当IE在访问任何这个站点的ASP程序的时候,就会把IBOMFONAOJFEEBHBPIENJFFC发送给服务器,服务器就会知道IBOMFONAOJFEEBHBPIENJFFC是表示你而在服务器上设置SESSION("name")="name"完全可以看成是SESSION("IBOMFONAOJFEEBHBPIENJFFC")("name")="name"
或者
SESSION(SESSIONID)("name")="name"
这样,SESSION就区分开用户了。
而当服务器反馈这个ID的时候会看这个ID有没有被使用。如果有在换一个
反正不会让你重复,如果想模拟某人的SESSION的ID来进行欺骗是可以的。不过要获取到对方IE传输信号,并且在保证当时这个SESSIONID没有被取消的情况下才可能实施。

不过要是我有那时间直接通过POST信号找他NAME和PASS了。我可不费这个劲,想必一些人明白了了SESSIONID到底是如何工作的,那么就在看看COOKIE,有人说SESSIONID就是COOKIE,按照技术上来讲他们不属于同类,但是属于一种工作模式,用户和服务器传输私有数据.当我设置COOKIE的时候,服务器会反馈给IE一个指令。IE通过这个网络指令生成COOKIE并存放,在特定的时候会取得这个这个信息如在访问这个站点并且COOKID有效的时候。

那么为什么要用COOKIE而不用SESSION呢?看下区别

有效时间以及存储方式 传输内容
COOKIE 可设置并在本地保留 明码信息

SESSION 在IE不关闭并服务器不超时 只有SESSIONID

当如果想让用户下次登入网站不需要输入用户名或者密码的时候就只能用COOKIE, 因为他可以保留相当长的时间(在COOKIE记录被删除或者失效日期之前) ,而SESSION就不可以,他不会保留太长时间,而且IE在关闭后就自动清除了SESSIONID记录

在下次登入的时候会请求新的SESSIONID ,而服务器想通过用户个人变量校验用户的状态的时候,就不能用COOKIE ,如果用设置用户权限是USER。而IE访问的时候就把USER的明码传输到服务器。 那么如果我通过一定手段,比如直接修改COOKIE记录,把USER修改成ADMIN呢~~

好麻烦。。。。

不过存储用户名和密码或者网站的配色方案这样的信息,用COOKIE是最好的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值