|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。甚么是Cookie?Cookie实际上是一个标签,常常大概听到的中文翻译:小舔饼。当你会见一个必要独一标识你的站址的WEB站点时,它会在你的硬盘上留下一个标志,下一次你会见统一个站点时,站点的页面会查找这个标志。
每一个WEB站点都有本人的标志,标志的内容能够随时读取,但只能由该站点的页面完成。每一个站点的Cookie与其他一切站点的Cookie存在统一文件夹中的分歧文件内(你能够在win98的Windows目次下的Cookie文件夹中找到它们,而win2k则在DocumentsandSettings文件夹下特定用户的cookies文件夹中)。
一个Cookie就是一个独一标识客户的标志,Cookie能够包括在一个对话期或几个对话期之间某个WEB站点的一切页面共享的信息,利用Cookie还能够在页面之间互换信息。这项功效常常被利用在请求认证客户暗码和电子通告板、WEB谈天室等ASP程序中。
只管如今听起来cookie没有甚么冲动民气的,但实践上使用它,你能完成很多成心义的功效!好比说:你能够在站点上安排一个查询拜访问答表,扣问会见者最喜好的色彩和字体,然后依据这些定制用户的web界面。而且,你还能够保留会见者的登录暗码,如许,当会见者再次会见这个站点时,不必再输出暗码举行登录。
固然,cookie也有一些不敷。起首,因为使用cookie的功效能够编程完成一些不良妄图,以是年夜多半的扫瞄器中都有平安设定,个中能够设置是不是同意大概承受cookie(IE扫瞄器中“工具”--“Internet选项...”--“平安”--“自界说级别”--“Cookie的利用”;Netscape扫瞄器中“工具”--“Cookie办理器”--“办理储存的Cookie”便可),因而这就不克不及包管随时能利用cookie。再者,会见者大概成心大概偶然地删除cookie。当会见者的呆板碰到“蓝屏”逝世机时,大概从头格局化硬盘、安装体系后,本来保留的cookie将全体丧失。最初一点,有一些最后始的扫瞄器其实不能撑持cookie。
◆如何使用cooklie?
有2种利用cookie的基础体例:
1、将cookie写进会见者的盘算机(利用Response命令)
2、从会见者的盘算机中取回cookie(利用Request命令)
◆创立cookie的基础语法:Response.Cookies(cookie)[(key)|.attribute]=value
这里的cookie是指定cookie的称号。
而假如指定了key,则该cookie就是一个字典。
(测试一cookie是不是为一个字典可用前面代码显现布尔值:<%=Request.Cookies("cookiename").HasKeys%>。为true是字典,false则不是。)
Attribute指定cookie本身的有关信息。Attribute参数能够是以下之一:
①Domain若被指定,则cookie将被发送到对该域的哀求中往。域属性标明cookie由哪一个网站发生大概读取,默许情形下,cookie的域属性设置为发生它的网站,但你也能够依据必要改动它。(Response.Cookies("CookieName").Domain="www.webjx.com")
②Path为一起径属性,该属性能够完成更多的平安请求,经由过程设置网站上准确的路径,就可以限定cookie的利用局限。假如未设置该属性,则利用使用程序的路径。(Response.Cookies("CookieName").Path="/maindir/subdir/path")
③Expires指定cookie的过时日期。为了在会话停止后将cookie存储在客户端磁盘上,或在很多时分,我们但愿能更长工夫地在会见者的盘算机上保留cookie。必需设置该日期。若此项属性的设置未凌驾以后日期,则在义务停止后cookie将到期。
前面的代码,就能够设置cookie的利用到期工夫为“2010年1月1日”:Response.Cookies("CookieName").Expires=#January01,2010#
前面的代码,将设定cookie的过时工夫为“cookie的创立工夫+365天”:Response.Cookies("CookieName").Expires=Date+365
但最好不要任意写Response.Cookies("CookieName").Expires=Date,如许页面之间的挪用时价会为空。
实行上面的代码将会在会见者的盘算机中创立一个cookie,名字=VisitorName,值=Ken:
Response.Cookies("VisitorName")="Ken"
实行上面的代码将会在会见者的盘算机中创立一个cookie,名字=VisitorName,值=表单中UserName的值
Response.Cookies("VisitorName")=Request.Form("UserName")
你能够扩大上面的代码成为Cookie子关头值(CookieSubName),即cookie字典的天生。代码以下:
Response.Cookies("VisitorName")("FirstName")="Ken"
Response.Cookies("VisitorName")("LastName")="Baumbach"
◆读取cookie的基础语法:Request.Cookies(cookie)[(key)|.attribute]
cookie指定要检索其值的cookie。
key可选参数,用于从cookie字典中检索子关头字的值。
attribe指定cookie本身的有关信息。如:HasKeys只读,指定cookie是不是包括关头字。
假如客户端扫瞄器发送了两个同名的cookie,那末Request.Cookie将前往个中路径布局较深的一个。比方,假如有两个同名的的cookie,但个中一个的路径属性为/www/而另外一个为/www/home/,客户端扫瞄器同时将两个cookie都发送到/www/home/目次中,那末Request.Cookie将只前往第二个cookie。
案例剖析:
◆num.asp(经由过程留在当地磁盘上的cookie纪录一年内会见本站的次数,第一次显现“初次会见”,今后显现“第几回会见”)
以下为援用的内容:
<%
dimnum
num=request.cookies("visitnum")
ifnum>"0"then
num=num+1
Response.write"您已经是第"&num&"次会见本站点了。"
else
Response.write"接待您初次会见本站。"
num=1
endif
response.cookies("visitnum")=num
response.cookies("visitnum").expires=date+365
%>
◆showcookie.asp(从Cookies文件夹中遍历出扫瞄器一切的Cookiename,和相干的字典Cookie的显现(蓝字显现))
以下为援用的内容:
<%
ForeachcookieinRequest.Cookies
ifRequest.cookies(cookie).HasKeys=falsethen
Response.writecookie&"="&Request.Cookies(cookie)
Response.write("<br>")
Else
foreachkeyinRequest.Cookies(cookie)
Response.write("<fontcolor=blue>")
Response.writecookie&".("&key&")"&"="&Request.Cookies(cookie)(key)
Response.write("</font><br>")
next
endif
next
%>
◆check.asp
起首,设置页面。然后,反省表单变量(在统一个页面中)。假如表单变量存在,就创立cookie,并设置到期工夫。
以下为援用的内容:
<%@LANGUAGE="VBSCRIPT"%>
<%
bgcolor=Request.Form("bgcolor")
fgcolor=Request.Form("fgcolor")
pwd=Request.form("pwd")
Ifbgcolor""orfgcolor""then
Response.cookies("check")("bgcolor")=bgcolor
Response.Cookies("check")("fgcolor")=fgcolor
Response.Cookies("check")("pwd")=pwd
Response.Cookies("check").Expires=#may01,2004#
Endif
接着,读取cookie
bgcolor=request.cookies("check")("bgcolor")
fgcolor=request.cookies("check")("fgcolor")
pwd=request.cookies("check")("pwd")
假如cookie在会见者的盘算机上不存在,就创立一个表单,扣问相干信息
Ifbgcolor=""andfgcolor=""andpwd=""then
%>
<HTML>
<HEAD></HEAD>
<body>
<DIVALIGN="CENTER">
<Formaction="check.asp"method="POST">
Bgcolor:<inputtype="text"name="bgcolor"><BR>
Fgcolor:<inputtype="text"name="fgcolor"><BR>
Password:<inputtype="password"name="pwd"><BR>
<inputtype="submit"value="Submit">
</Form>
</DIV>
</BODY>
<%
Endif
假如cookie已存在,而且bgcolor存在,就跳转到color.asp。
Ifbgcolor""then
Response.Redirect"color.asp"
Endif
%>
◆color.asp(显现用户喜好色彩的页面特征)
以下为援用的内容:
<%
bgcolor=request.cookies("check")("bgcolor")
fgcolor=request.cookies("check")("fgcolor")
pwd=request.cookies("check")("pwd")
%>
<%response.write("<bodybgcolor="&bgcolor&"><fontcolor="&fgcolor&">")%>
你的暗码是:
<%response.write(""&pwd&"")%>
asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。 |
|