首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页编程ASP代码

对Session和Cookie的区分与理解

来源: 互联网    日期:2007-1-13 15:09:38
 
    先说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.jh521.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/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是最好的
    
    
    好,有点累了,在说说这个东西
    Request.ServerVariables("HTTP_REFERER")
    
    我想有一些人通过这个Request.ServerVariables("HTTP_REFERER")
    来进行一些关键性限制,特别是对付远程提交以及非法侵入。
    那么我就要提醒下服务器取得的HTTP_REFERER信息完全是IE传输给服务器的,可以模拟
    而且难度不大,用不到半个小时就可以用VB做出一个针对HTTP_REFERER入侵程序。


更多的对Session和Cookie的区分与理解请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2007-1-13 15:09:38   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报