关于Session和Cookie的区分

关于Session和Cookie的区分

        看来大家对IE cookie 很感兴趣啊!我在这篇是关于cookie 和session的区别。 先说

session ,对SESSION的争论好象一直没有停止过,不过能理解SESSION的人应该占90%

以上。但还是讲讲,别嫌老~ 有一些人赞成用SESSION,有一些人不赞成。但这个问题到

底要怎么说。不妨听听我的看法,如果有错误请不要朝丢东西,金条和硬币除外。这里不谈

设计,而从一些比较实际的角度看SESSION。

        首先说SESSION是干什么的,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.haihuang.blogchina.com Connection: 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/htmlSet-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是最好的,我有点累了,你们也有点累

了吧,再说说这个东西 Request.ServerVariables("HTTP_REFERER") 我想有一些人通过

这个Request.ServerVariables("HTTP_REFERER") 来进行一些关键性限制,特别是对付远

程提交以及非法侵入。 那么我就要提醒下, 服务器取得HTTP_REFERER信息完全是IE传

输给服务器的,可以模拟而且难度不大,用不到半个小时就可以用VB做出一个针对

HTTP_REFERER入侵程序。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值