关于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: 然后就是页面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。
模式,用户和服务器传输私有数据。当我设置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入侵程序。
|
关于Session和Cookie的区分
最新推荐文章于 2025-01-18 20:20:03 发布