ASP.NET 实践:读取 Cookie

本文介绍了Web Cookie的基本概念,包括如何通过ASP.NET读取Cookie中的信息,以及在读取和使用Cookie时需要注意的安全性和编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookies 提供了一种在 Web 应用程序中存储特定用户信息(如历史记录或用户偏好)的方式。Cookie 是连同请求和回应一起在 Web 服务器和客户端之间来回传送的少量文本。Web 应用程序能够在用户访问网站的时候读取 Cookie 中所包含的信息。

浏览器负责对用户系统中的 Cookies 进行管理。Cookies 连同页面请求一起被发送到服务器,并作为 HttpRequest 对象中的一部分而能够被访问,并暴露了一个 Cookies 集合。你只能够读取当前域或路径中的页面所创建的 Cookies。

步骤
读取 Cookie
  • 把 Cookie 的名称作为关键字从 Cookies 中读取一个字符串。

    如下实例读取了一个名为 UserSettings 的 Cookie,然后读取名为 Font 的子键的值。

    if (Request.Cookies["UserSettings"] != null)
    {
        string userSettings;
        if (Request.Cookies["UserSettings"]["Font"] != null)
        { userSettings = Request.Cookies["UserSettings"]["Font"]; }
    }
    
编译代码

该实例需要:

  • 一个 ASP.NET Web 页面。

  • 先前被写入的 Cookie(名为 UserSettings),与[ASP.NET 实践:写入 Cookie]中所例示的一样。

健壮编程

因为安全原因,你只能够对被相同域中的页面所设置的 Cookies 进行读取。如果 Cookie 的 Path 属性已经被设置,那么这个 Cookie 只在路径中所指定的相同域的页面和子目录中可用。

在读取特定 Cookie 的值的时候,先测试该 Cookie 是否存在并且是否已经赋值,否则会发生一个 NullReferenceException 异常。

Cookie 中的所有值都被存储成 String 类型,所以要把 Cookie 的值当成不同的数据类型使用,你还必须进行适当的类型转换。

安全性

浏览器只能够把数据回发到最初创建 Cookie 的服务器中。但是,恶意用户能够对 Cookies 进行访问并且读取其中的内容。所以不要把机密信息存储到 Cookie 中,如用户名称或密码。而是存储一个能够用来在服务器上查寻机密信息的记号。另外,Cookies 还能够被篡改,所以 Cookie 中的任何数据都应该使用防止跨网站脚本攻击时的策略来进行测试。更多信息,请参考:[脚本开发概览]。

转载于:https://www.cnblogs.com/Laeb/archive/2007/01/13/619628.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值