论坛登陆 用户: 密码:
联系我们
设为首页
加入收藏
业界新闻 网络编程 程序开发 网页图象 聊天通讯 软件应用 网络安全 硬件学堂 教育频道 站长club
  ·推荐新闻
 
·美前任官员认为amd告倒英特
·搜索引擎关键字排行简介
·网站优化教程(一)
·msn近期遭受木马病毒骚扰 用
·用qq管理你的系统^_^ 
·测评中心金山毒霸联合发布7
·qq群聊实名 普通用户不受影
·雅虎思科联手推数字邮件签名
·这18条背下来没人敢和你忽悠
·自己动手,拯救丢失的硬盘数
  ·资料搜索
 
  ·相关文章
·绑定txt文件到datagrid
·在用户离开页面时提示信息
·asp + oracle 分页方法(不用存
·asp + sqlserver 分页方法(不
·asp无组件上传进度条解决方案
·验证身份证号是否正确的代码
·类似于iis浏览的功能
·检查有日文片假名的新闻
·asp关键字函数运算附
·asp中也能解压缩rar文件
  ·热门新闻
首页>>网络编程>>asp专区>>文章正文

对session和cookie的区分与理解


 日期:2005-7-18 8:25:14     来源:易特网络技术   编辑:黑鹰  点击:
先说session

    对session的争论好象一直没有停止过,不过能理解session的人应该占90以上。但还是讲讲,别嫌老~

    有一些人赞成用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入侵程序。

上一篇:asp vbscript 函数速查表
下一篇:一个求最大值与最小值的函数
[发送给好友] [打印本页] [关闭窗口] [返回顶部转载请注明来源:http://www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 黑鹰 投稿作者: 易特网络
信息来源: 易特网络技术 录入时间: 2005-7-18 8:25:14
浏览次数: 投稿信箱: shtghy@163.com
设置首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights ©2004-2005 iyit.net all rights reserved. 网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息