|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;cookie|编程|汇合 Cookie是一种发送到客户扫瞄器的文本串句柄,并保留在客户机硬盘上,能够用来在某个Web站点会话之间耐久地坚持数据。Request和Response工具都有一组Cookie。
Request.cookie汇合是一系列Cookie,从客户端与HTTPRequest一同发送到Web服务器。反过去,假如你但愿把Cookie发送到客户机,就能够利用Response.cookie
1、ExpiresAbsolute属性
该属性能够赋一个日期,过了这个日期Cookie就不克不及再被利用了。经由过程给Expires属性赋一个过时的日期,就能够删除Cookie。如:
<%Response.cookies("passtime").expiresAbsolute="1/1/99"%>
2、Domain属性
该属性界说Cookie要传送的独一域。如:Cookie只传送给Microsoft的人,则可使用以下代码。
<%Response.Cookies("domain").Domain="www.microsoft.com"%>
3、ASP用来写进Cookie即向客户机发送Cookie的语法以下:
Response.Cookie("Cookie名").[("键名").属性]=内容
假如某个ASP文件要创立一个Cookie,则上面的代码能够放在ASP文件的第一个<html>之前,以免发生毛病.
<%Response.Cookies("CookieName")="NewCookie"%>
<html>
......
</html>
4、一样ASP用Request工具的Cookies汇合来读取Cookie,如:
<%Response.writeRequest.Cookies("CookieName")%>
上面以一个完全的例子来讲明Cookie:
<%
dimNum
Num=Request.Cookies("Visit_num")
ifNum>0then
Num=Num+1
Response.write"您已经是第"&Num&"次会见本站点了。"
else
Response.write"接待您初次会见本站。"
Num=1
endif
Response.Cookies("Visit_num")=Num
%>
在该例子中,起首读取Cookies变量Visit_num,看用户端盘算机是不是保留有Cookies变量。假如有该变量,则申明用户已会见过该页面,同时输出出会见次数。假如用户是初次会见该页面,则其盘算机内不会有Cookies变量,程序会显现“接待”字样,然后将Cookies变量Visit_num存到用户盘算机中,以便该用户下一次会见该页面时给出“会见的次数”信息。
5、Cookie字典
偶然在一个页面中大概必要界说良多个Cookies变量,为了更好地办理它,在Cookies组件中常引进一人的观点“子键”。援用它的语法以下:
Request.Cookies("变动名")("子键名")
以下面的Cookie创立一个名为"Dictionary"的字典,个中保留了三个键值:
<%
Response.Cookie("info")("Myname")="jeff"
Response.Cookie("info")("Gender")="male"
Response.Cookie("info")("Myheight")="172"
%>
现实上客户机上的Cookie字典是以字符串的情势存在:
info=Myname=jeff&Gender=male&Myheight=172
假如用户没有指定“子键”名而间接援用Cookies变量,将会前往一个包括一切的“子键”名及值的字符串。比方下面这个例子包括三个“子键”:"Myname"、"Gender"和"Myheight",当用户没有指定其“子键”而间接经由过程Request.Cookies("info")来援用时,则会失掉以下字符串:
info=Myname=jeff&Gender=male&Myheight=172
假如要把Cookie中读取的一切数据,能够用上面的代码失掉:
<%
ForeachcookieinRequest.Cookies
ifNotcookie.HasKeysthen
Response.writecookie&"="&Request.Cookies(cookie)
Else
foreachkeyinRequest.Cookies(cookie)
Response.writecookie&"("&key&")"&"="&Request.Cookies(cookie)(key)
next
endif
next
%>
大概:
<%
Declarecountervariables
DimCookie,Subkey
Displaytheentirecookiecollection.
ForEachCookieinRequest.Cookies
Response.WriteCookie
IfRequest.Cookies(Cookie).HasKeysThen
Displaythesubkeys
ForEachSubkeyinRequest.Cookies(Cookie)
Response.WriteSubkey&"="&Request.Cookies(Cookie)(Subkey)&"<BR>"
Next
Else
Response.Write":Nosubkeysinthiscookie<BR>"
EndIf
Next
%>
ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。 |
|