选择显示字体大小

asp.net中cookie编程的基础知识(6)

     删除 cookie
  
    删除 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 编码。这是一种标准的方法,可以在显示之前净化从用户处得到的信息,


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons