仓酷云

标题: ASP网站制作之进修ASP编程手艺之Cookie汇合 [打印本页]

作者: 金色的骷髅    时间: 2015-1-16 22:18
标题: ASP网站制作之进修ASP编程手艺之Cookie汇合
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。
作者: 兰色精灵    时间: 2015-1-17 22:56
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者: 第二个灵魂    时间: 2015-1-21 10:41
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者: 若天明    时间: 2015-1-30 15:39
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
作者: 飘飘悠悠    时间: 2015-2-6 13:50
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
作者: 冷月葬花魂    时间: 2015-2-16 09:04
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
作者: 再见西城    时间: 2015-3-5 03:19
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
作者: 金色的骷髅    时间: 2015-3-11 23:05
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 精灵巫婆    时间: 2015-3-19 15:56
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
作者: 若相依    时间: 2015-3-29 03:37
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2