崩溃吧:Cookie

来源:未知 责任编辑:责任编辑 发表时间:2014-01-26 22:00 点击:

我们知道窗体页是无状态的,这意味着它们不自动指示序列中的请求是否全部来自于相同的客户端,或者单个浏览器实例是否一直在查看页或站点,到服务器的每一往返都将销毁并重新创建页,因此超过单个页的生命周期,页信息将不存在
状态管理的作用主要体现在:
1、指示用户信息,关联浏览器实例
2、使得页与页之间,请求与请求之间能够共享信息
3、更加快速的数据存储  
除了Cookie外,几乎没有其他的方法在客户端的机器上写入数据(就连Cookie的写入操作也是浏览器进行的:服务器通过发回响应,让浏览器增加Cookie,当然,浏览器也可以通过安全配置来禁止。现在的大多数的网站都是利用Cookie来记录一些数据的(比如说你的ID),以便于你下一次访问网站时能直接以前的配置,所以最好是不要轻易关闭Cookie,那些Cookie是不是存在着一些风险呢?如果用户可以改变Cookie中的信息的话那里服务器还傻傻地以之前的配置来往回页?有没有这样的可能?刚刚查看了下浏览器,它是没有办法修改Cookie的信息的,只能是清除Cookie。但是为了防止Cookie信息的泄露,我们可以对Cookie进行加密!
好吧,现在来看看如何使用C#来增删查改Cookie
  View Code
  //要使用Response对象把Cookie重新返回浏览器,再由浏览器把在客户端
    //机器上写Cookie
    protected void Button1_Click(object sender, EventArgs e)
    {
        HttpCookie Cookie = new HttpCookie  (CookieName.Text,CookieValue.Text);
       // Cookie.Expires = DateTime.Now.AddSeconds(int.Parse(CookieExpires.Text));
        Response.Cookies.Add(Cookie);
    }

    protected void Button3_Click(object sender, EventArgs e)
    {
        HttpCookie Cookie = Request.Cookies[CookieName .Text];
        if (Cookie != null)
        {
            Cookie_Info.Text = Cookie.Name + "___" + Cookie.Value + "-----" + Cookie.Expires;
        }
    }

    //删除Cookie
    //我们不能直接的把Cookie删除掉,服务器是不可能删除Cookie的,删除Cookie的操作是浏览器进行的。
    //我们可以把Cookie设置为过去的时间,让Cookie过期
    protected void Button2_Click(object sender, EventArgs e)
    {
        Cookie_Info.Text = "";
        HttpCookie Cookie = Request.Cookies[CookieName.Text];
        if (Cookie != null)
        {
            Cookie.Expires = DateTime.MinValue;
        }
        Response.Cookies.Add(Cookie);
    }

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • C#高级编程:数据库连接[1]
  • asp.net 设置GridView的选中行的实现代码
  • 经典C++程序1
  • IIS 自动回收导致后台定时器失效的问题解决
  • ASP.NET GridView列表代码示例
  • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1