cookie的使用:Cookie使用指南来源: 发布时间:星期四, 2009年2月12日 浏览:157次 评论:0
尽管现在听起来cookie没有什么激动人心但实际上利用它你能实现许多有意义功能!比如说:你可以在站点上放置 个调查问答表询问访问者最喜欢颜色和字体然后根据这些定制用户web界面并且你还可以保存访问者登录密码这 样当访问者再次访问这个站点时不用再输入密码进行登录 当然cookie也有些不足首先由于利用cookie功能可以编程实现些不良企图所以大多数浏览器中都有安全设定其中可以设置是否允许或者接受cookie因此这就不能保证随时能使用cookie再者访问者可能有意或者无意地删除cookie当访问者机器遇到“蓝屏”死机时或者重新格式化硬盘、安装系统后原来保存cookie将全部丢失最后点有些最浏览器并不能支持cookie 利用cooklie能做什么? 有2种使用cookie基本方式: 1、将cookie写入访问者计算机(使用 RESPONSE 命令) 2、从访问者计算机中取回cookie(使用 REQUEST 命令) 创建cookie基本语法 Response.Cookies(\"CookieName\")=value 执行下面代码将会在访问者计算机中创建个cookie名字=VisitorName值=Ken Response.Cookies(\"VisitorName\")=\"Ken\" 执行下面代码将会在访问者计算机中创建个cookie名字=VisitorName值=表单中UserName值 Response.Cookies(\"VisitorName\")=Request.Form(\"UserName\") 读取cookie基本语法 Request.Cookies(\"CookieName\") 可以将Request值当作个变量看待执行下面代码将取回名字为KensCookiecookie值并存入变量MyVar: MyVar=Request.Cookies(\"KensCookie\") 执行下面代码将判断名字为KensCookiecookie值是否为“Yes”: If Request.Cookies(\"KensCookie\")=\"Yes\" then... 功能丰富cookie 你可以扩展上面代码成为Cookie子关键值(CookieSubName)代码如下: Response.Cookies(\"VisitorName\")(\"FirstName\")=\"Ken\" Response.Cookies(\"VisitorName\")(\"LastName\")=\"Baumbach\" 讲解例子前最后讨论2个概念:命令约定和使用到期时间 命名约定 同其他变量命名样合适地、独特地命名cookie有利于在中前后连贯地使用它你可以使用下面1个或者2个 cookie属性进行cookie变量命名: 域属性(Do):域属性表明cookie由哪个网站WebSite产生或者读取默认情况下cookie域属性设置为产生它网站WebSite但你 也可以根据需要改变它相关代码如下:Response.Cookies(\"CookieName\").Do = \"www.mydo.com\" 路径属性(Path):路径属性可以实现更多安全要求通过设置网站WebSite上精确路径就能限制cookie使用范围例如: Response.Cookies(\"CookieName\").Path = \"/dir/subdir/path\" 使用到期时间 通常情况下当浏览器关闭时个cookie就不存在了但是在许多时候比如下面将要讨论web站点例子我们希望能更长时间地在访问者计算机上保存cookie很幸运有这样实现思路方法下面代码就可以设置cookie使用到期时间为2010年1月1日: Response.Cookies(\"CookieName\").Expires=#January 01, 2010# 执行下面代码将设定cookie过期时间为“cookie创建时间+365日”: Response.Cookies(\"CookieName\")=Date+365 使用cookie实际例子 现在开始讨论实际例子假设:你想做个调查每个人初次访问时需要填写好信息但是当日后再访问时就不需要再那么做利用cookie就可以非常圆满地解决这个问题而大可不必用到数据库 < %@ LANGUAGE=\"VBSCRIPT\" % > < % Survey=Request.Cookies(\"KensSurvey\") If Survey =\"\" then Response.Cookies(\"KensSurvey\")=\"x\" Response.Cookies(\"KensSurvey\").Expires=#January 01, 2010# Response.Redirect \"survey.asp\" Else \'rest of the page End % > 好下面开始从头讨论上面代码 首先设置页面并读取名字为KensSurveycookie值: < %@ LANGUAGE=\"VBSCRIPT\" % > < % Survey=Request.Cookies(\"KensSurvey\") 然后判断是否已经存在cookie值: If Survey =\"\" then 如果不存在 就创建并设置cookie并转到页面survey.asp 当下次访问时存在cookie值就不会再转到survey.asp 页面 Response.Cookies(\"KensSurvey\")=\"x\" Response.Cookies(\"KensSurvey\").Expires=#January 01, 2010# Response.Redirect \"survey.asp\" 如果cookie已经存在那么访问者将执行页面中剩余代码: \'rest of the page End %> 例子2 这里有另外个简单例子:当访问者第1次浏览某个站点时向他们显示欢迎信息代码如下: < %@ LANGUAGE=\"VBSCRIPT\" % > < % RequestName = Request.Form(\"Name\") RequestLeaveMeAlone = Request.Form(\"LeaveMeAlone\") If RequestName < >\"\" or RequestLeaveMeAlone < >\"\" then Response.Cookies(\"MySiteVisitorName\") = RequestName Response.Cookies(\"MySiteVisitorName\").Expires = #January 01, 2010# Response.Cookies(\"MySiteLeaveMeAlone\") = RequestLeaveMeAlone Response.Cookies(\"MySiteLeaveMeAlone\").Expires = #January 01, 2010# End VisitorName = request.cookies(\"MySiteVisitorName\") LeaveMeAlone = request.cookies(\"MySiteLeaveMeAlone\") If VisitorName =\"\" and LeaveMeAlone =\"\" then % > < HTML > < HEAD > < /HEAD > < body bgcolor=\"#ccffff\" text=\"black\" link=\"navy\" vlink=\"purple\" > < DIV ALIGN=\"CENTER\" > < form action=\"index.asp\" method=\"POST\" > < H2 >Let\'s be friends< /H2 > What\'s your name (leave blank and hit the Submit button you don\'t want us to know)? < input type=\"text\" name=\"name\" >< BR >< BR > < input type=\"hidden\" name=\"LeaveMeAlone\" value=\"x\" > < input type=\"submit\" value=\"Submit\" > < /FORM > < /DIV > < /BODY > < % End If VisitorName < > \"\" then Response.write \"Hi, \" & VisitorName & \"! I hope you are having a great day!\" End \'rest of the page % > 好现在来看看上面代码实现执行了什么首先设置页面然后检查表单变量(在同个页面中)如果表单变量存在就创建cookie并设置到期时间 < %@ LANGUAGE=\"VBSCRIPT\" % > < % RequestName = Request.Form(\"Name\") RequestLeaveMeAlone = Request.Form(\"LeaveMeAlone\") If RequestName < >\"\" or RequestLeaveMeAlone < >\"\" then Response.Cookies(\"MySiteVisitorName\") = RequestName Response.Cookies(\"MySiteVisitorName\").Expires = #January 01, 2010# Response.Cookies(\"MySiteLeaveMeAlone\") = RequestLeaveMeAlone Response.Cookies(\"MySiteLeaveMeAlone\").Expires = #January 01, 2010# End 接着读取cookie: VisitorName = request.cookies(\"MySiteVisitorName\") LeaveMeAlone = request.cookies(\"MySiteLeaveMeAlone\") 如果cookie在访问者计算机上不存在就创建个表单询问相关信息: If VisitorName =\"\" and LeaveMeAlone =\"\" then % > < HTML > < HEAD > < /HEAD > < body bgcolor=\"#ccffff\" text=\"black\" link=\"navy\" vlink=\"purple\" > < DIV ALIGN=\"CENTER\" > < form action=\"index.asp\" method=\"POST\" > < H2 >Let\'s be friends< /H2 > What\'s your name (leave blank and hit the Submit button you don\'t want us to know)? < input type=\"text\" name=\"name\" >< br >< br > < input type=\"hidden\" name=\"LeaveMeAlone\" value=\"x\" > < input type=\"submit\" value=\"Submit\" > < /FORM > < /DIV > < /BODY > < % End 如果cookie已经存在并且用户名字存在就显示给访问者个欢迎界面然后执行其余代码 If VisitorName < > \"\" then Response.write \"Hi, \" & VisitorName & \"! I hope you are having a great day!\" End \'rest of the page % > 0
相关文章读者评论发表评论 |