| 域名空间 下载中心 社区论坛 信息公告 MY小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
ASP.NET中Cookie编程的基础知识(6)http://www.iyit.net 日期:2006-6-2 15:06:39 来源: 点击: |
删除 Cookie(即把该 Cookie 从用户的硬盘上物理删除)是修改 Cookie 的一种形式。由于 Cookie 位于用户的计算机中,所以您无法直接将其删除。但是,您可以让浏览器为您删除 Cookie。修改 Cookie 的方法前面已经介绍过(即用相同的名称创建一个新的 Cookie),不同的是将其有效期设置为过去的某个日期。当浏览器检查 Cookie 的有效期时,就会删除这个已过期的 Cookie。 所以,删除 Cookie 的方法与创建该 Cookie 的方法是相同的,只不过要把其有效期设置为过去的某个日期。以下示例比删除单个 Cookie 要稍微有趣一些,它使用的方法可以删除当前域的所有 Cookie: Dim i As Integer Dim cookieName As String Dim limit As Integer = Request.Cookies.Count - 1 For i = 0 To limit aCookie = Request.Cookies(i) aCookie.Expires = DateTime.Now.AddDays(-1) Response.Cookies.Add(aCookie) Next 修改或删除子键 修改单个子键的方法与最初创建它的方法相同: Response.Cookies("userInfo")("lastVisit") = DateTime.Now.ToString Response.Cookies("userInfo").Expires = DateTime.Now.AddDays(1) 比较复杂的问题是如何删除单个子键。您不能只是简单地重新设置 Cookie 的过期日期,因为这样只能删除整个 Cookie 而不能删除单个子键。实际的解决方案是对包含子键的 Cookie 的 Values 集合进行操作。首先,通过从 Request.Cookies 对象中获取 Cookie 来重新创建 Cookie。然后,您就可以调用 Values 集合的 Remove 方法,将要删除的子键名称传递到 Remove 方法。接下来,您通常可以将修改后的 Cookie 添加到 Response.Cookies 集合,以便将修改后的 Cookie 发送回浏览器。 以下代码显示了如何删除子键。在示例中,要删除的子键的名称在变量中指定。 Dim subkeyName As String subkeyName = "userName" Dim aCookie As HttpCookie = Request.Cookies("userInfo") aCookie.Values.Remove(subkeyName) aCookie.Expires = DateTime.Now.AddDays(1) Response.Cookies.Add(aCookie) Cookie 与安全性 在使用 Cookie 时,您必须意识到其固有的安全弱点。我所指的安全性并不是隐私问题,正如我在前面的什么是 Cookie?中所述,隐私在更大程度上是某些用户面对的问题:这些用户很关心 Cookie 中的信息是如何被使用的。而 Cookie 的安全性问题与从客户机获取数据的安全性问题类似。对于初学者,就应用程序而言,Cookie 是用户输入的另一种形式,因而很容易被他人非法获取和利用。由于 Cookie 保存在用户自己的计算机上,所以用户至少可以看到您保存在 Cookie 中的信息。如果用户愿意,还能在浏览器向您发送 Cookie 之前修改该 Cookie。 所以,您千万不要在 Cookie 中保存保密信息 - 用户名、密码、信用卡号等等。在 Cookie 中不要保存不应该由用户掌握的内容,也不要保存可能被其他窃取 Cookie 的人控制的内容。 同样,要对从 Cookie 中得到的任何信息都持怀疑态度。不要认为得到的数据就是您当初设想的信息。处理 Cookie 值时采用的安全措施应该与处理 Web 页面中用户键入的数据时采用的安全措施相同。例如,在页面中显示值之前,我会对 Cookie 中的内容进行 HTML 编码。这是一种标准的方法,可以在显示之前净化从用户处得到的信息,对 Cookie 的处理与此相同。 另一个需要关心的问题是,Cookie 是以纯文本的形式在浏览器和服务器之间传送的,任何可以截取 Web 通信的人都可以读取 Cookie。您可以对 Cookie 的属性进行设置,使其只能在使用安全套接字层(SSL,又称 https://)的连接上传输。SSL 并不能防止保存在用户计算机上的 Cookie 被他人读取或操作,但它能防止 Cookie 在传输途中被他人截取。本文不讨论 SSL,但您必须清楚,您可以对 Cookie 进行传输保护。有关 SSL 的详细信息,请参阅 Secure Sockets Layer: Protect Your E-Commerce Web Site with SSL and Digital Certificates(英文)。 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:一稿多投:关于MS和Non-MS的思考 下一篇:ASP.NET中Cookie编程的基础知识(5) 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||