首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

八、使用浏览器Cookie

2012-12-18 
8、使用浏览器Cookie使用浏览器Cookieset-cookie:messagehello注意: Cookie就是一段文本。Cookie只能用于存

8、使用浏览器Cookie
使用浏览器Cookie

set-cookie:message=hello

注意:
Cookie就是一段文本。Cookie只能用于存储字符串值。

可以创建两种类型的cookie:会话Cookie和持久化Cookie
会话Cookie只存于内存,当用户关闭浏览器时,会话Cookie就永远消失了。
持久化Cookie可以存在几个月甚至几年。持久化Cookie创建后,会被浏览器长久地保存在用户的电脑上。
\Documents and Settings\[user]\Cookies


1、Cookie的安全性限制
首先,所有的Cookie是与域名相关的
其次,浏览器存储Cookie的重要限制是其大小的限制 不能超过4096字节(包含所有的Cookie名称和值在内)
最后,大多数浏览器都限制可以被设置的cookie数量,一个域名不超过20个cookie (IE除外)

2、创建Cookie
Response.Cookies 集合添加Cookie


Cookie的名称是区分大小写的。
2011-5-11 11:48 danny

创建持久化的Cookie

Response.Cookies["counter"].Expires = DateTime.Now.AddYears(2);
设为两年。当为某个Cookie设置了过期时间后,该Cookie就被保存为持久化cookie了。

3、读取Cookie
可以使用Response.Cookies集合创建和修改Cookie,
可以使用Request.Cookies集合读取Cookie值

GetCookies.aspx


4、设置Cookie属性
Domain 关联到的Cookie的域名。默认当前域名
Expires  指定过期时间
HasKeys  确定该Cookie是否是一个多值cookie
HttpOnly 避免Cookie被JavaScript访问
Name 用户指定Cookie的名称
Path   关联到Cookie的路径。默认值是/
Secure  指定Cookie需要通过SSL连接传递
Value   允许读/写Cookie的值
Values  多值

5、删除Cookie
删除Cookie的方法并不直观。要删除一个存在的Cookie,必须设置其过期时间为一个过去的时间。

DeleteAllCookies.aspx


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        string[]
             cookies = Request.Cookies.AllKeys;
        foreach (string cookie in cookies)
        {
            BulletedList1.Items.Add("Deleting " + cookie);
            Response.Cookies[cookie].Expires = DateTime.Now.AddDays(-1);
        }
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:BulletedList ID="BulletedList1" EnableViewState="false" runat="server">
        </asp:BulletedList>
    </div>
    </form>
</body>
</html>

2011-5-11 22:20 danny
6、使用多值Cookie
根据Cookie规范,单个域名,浏览器不能存储超过20个Cookie。可以通过创建多值Cookie来超越该限制。
多值Cookie是一个包含子键的Cookie。可以根据需要创建任意数量的子键。

setCookieValues.aspx


查看
GetCookieValues.aspx


2011-5-13 10:59 danny


热点排行