cookie简介
首先,我们对cookie做一个简单的介绍,说明如何利用asp来维护cookie。
cookie是存储在客户端计算机中的一个小文件,这就意味着每当一个用户访问你的站点,你就可以秘密地在它的硬盘上放置一个包含有关信息的文件。 这个文件几乎可以包含任何你打算设置的信息,包括用户信息、站点状态等等。这样的话,就有一个潜在的危险:这些信息有可能被黑客读取。为了防止这个问题的发生,一个有效的办法就是cookie只能被创建它的域所存取。这就是说:比如ytu.edu.cn只能访问ytu.edu.cn创建的cookie。通常来讲,这没有什么问题;但是,如果需要两个不同域上的两个不同站点共享保存在cookie中的用户信息,该如何处理呢?当然可以选择复制用户信,但是,如果你需要用户只能在一个站点上注册,并且自东成为另外一个站点的注册用户呢?或者,两个站点共享一个用户数据库,而又需要用户自动登录呢?这时候,跨越域共享cookie是最好的解决方案。
这里,先看一些asp处理cookie的代码,以便以后便于引用参考。
'创建cookie
response.cookies("mycookie").expires=date+365
response.cookies("mycookle").domain="mydomaln.com"
response.cookies("mycookle")("username")=strusername
response.cookies("mycookle")("password")=strpassword
读写cookie非常简单,上面的代码创建一个cookie并给cookie设置属性:域、过期时间,以及其他一些保存在cookie中的值。这里,strusename,strpassword是在前面某个地方设置的变量。然后,通过下面的语句在cookie中读取。
'读取cookie
datexpdate=request.cookies("mycookie")
strdomaln=request.cookies("mycookle").domain
strusername=request.cookies("mycookle")("username")
strpassword=request.cookies("mycookie")("password")
更详细的信息,可以参考asp的资料。
实现
简单地共享cookie的诀窍是重定向,一般过程为:
1.一个用户点击sitea.com。
2.如果用户没有sitea.com的cookie,就把用户重定向到siteb.com。
3.如果用户有siteb.com的cookie,把用户连同一个特殊的标志(将在下面解释)重定向回sitea.com,否则,只把用户重定向到sitea.com。
4.在sitea.com创建cookie。
看起来很简单,仔细分析一下:sitea.com和siteb.com共享相同的用户设置,所以,如果用户有siteb.com的cookie(已经注册),sitea.com能够同样读取cookie、提供cookie所允许的特性。这样,访问sitea.com的用户就如同访问了siteb.com。
这个检查的环节应该在sitea.com中的文件所包含一个cookies.inc中实现。让我们看一下这段代码:
l—1
'sitea.com"检查cookie
if request.querystring("checked")<>"true" then
if not request.cookies("sitea_cookie").haskeys then
'重走向到siteb.com
response.redlrect("http://www.siteb.com/cookie.asp")
end if
end if
如果用户有一个sitea.com的cookie,则不需要做任何事情了;第一个if语句用来消除无限的循环。
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 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器