·s§Þ术 ·s«Â胁 Web2.0¤Uªº¤Q¤j§ð击
±z¬O²Ä
234ÓÂsÄýªÌ
Web2.0¬Oªíz·s¤@¥NÊI络应¥Îªº·s鲜术语¡CStart.com,Google maps,Writely¥H¤ÎMySpace.com³£¬O¨Ï¥ÎWeb2.0ªºS¨Ò¡C§Þ术¤ô¥ªº¤£断进¨B¡A±À动¤Fweb2.0应¥Îªº发®i¡C¦bÊI络ªA务¤è±¡A¥¦¥[强¤FªA务ºÝªº®Ö¤ß§Þ术组¥ó¡A¦Ó¦b«È户ºÝ¤è±¡AAJAX©M¤¥´IÊI络应¥Î(RIA)则§ï进¤F浏览¾¹¤¤ªº«È户ºÝ¥Î户±µ¤f¡C XML语¨¥对ªí¥Ü层©M传输层¡]HTTP/HTTPS¡^¦³¥¨¤jªº¼v响¡CSOAP¦¨为°ò¤_XMLªº传输Éó¨îªº¯S别选择¦Z¡A从¬YÏúµ{«×¤W说¡AXML¦bªí¥Ü层¤W¨ú¥N¤FHTML语¨¥¡C
Web2.0关ª`点¡X¡X«¾ã¦æ业
§Þ术变²带来¤F·sªº¦w¥þ关ª`点©M·sªº§ð击¦V¶q¡CYamanner,Samy¥H¤ÎSpaceflash这¨Ç¨å«¬Ä¯¦ä¥¿¦b§ð击¥]§t«O±K«H®§ªºAJAX¬[ÌÛªº«È户ºÝ¡A¥¦们´£¨Ñ§ð击³~径¡C ¦bªA务¾¹ºÝ¡A°ò¤_XMLªºÊI络ªA务¥¿¦b¨ú¥N¤@³¡¤Àªº关键¥\¯à¡C¥¦´£¨Ñ¥i³q过ÊI络ªA务±µ¤f来访问ªº¤À¥¬¦¡应¥Î¡C¥Î户¥i¥H从浏览¾¹ºÝ远µ{¿E¬¡°ò¤_GET,POST©ÎªÌSOAPªº¤èªk¡A这项¯à¤O给¦UÏú应¥Î带来·sªº¯Ê³´¡C¥t¤@¤è±¡A¨Ï¥ÎXML,XUL,Flash,Applets©MJAVAScriptsªºRIA®Ø¬[¼W¥[¤F§ó¦h¥i¥Îªº§ð击¦V¶q¡CRIA,AJAX¥H¤ÎÊI络ªA务给ÊI络应¥Î¦w¥þ¼W¥[¤F·sªº维«×¡C ¤U±¬O10个§ð击¦V¶qªº¦Cªí¥H¤Î简µu¤¶绍¡G
1.AJAX¤¤ªº¸ó¯¸点脚¥»
«e¤L个¤ë¡A¤H们发现¤F¦hÏú¸ó¯¸点ªº脚¥»§ð击¡C¦b¦¹类§ð击¤¤¡A¨ü®`ªÌªº¥]§t«H®§ªº浏览¾¹¤W会运¦æ来¦Û¯S©wÊI¯¸ªº恶·NJAVA脚¥»¥N码¡CYamannerį¦ä´N¬O¤@个³ÌªñªºS¨Ò¡A¥¦§Q¥ÎYahoo邮¥óªºAJAX调¥Î¤¤ªº¸ó¯¸点脚¥»Éó会来§ð击¨ü®`ªÌ¡C¥t¤@个ªñ´ÁªºS¨Ò´N¬OSamyį¦ä¡A¥¦§Q¥ÎMySpace.comªº¸ó¯¸点脚¥»º|¬}来§ð击¡CAJAX¦b«È户ºÝ¤W运¦æ¡A¥¦¤¹许错误书写ªº脚¥»³Q§ð击ªÌ§Q¥Î¡C§ð击ªÌ¯à够编写恶·N链±µ来«¡骗¨º¨Ç没¦³ã备ªº¥Î户¡A让¥L们¥Î浏览¾¹¥h访问¯S©wªºÊI页¡C传统应¥Î¤¤¤]¦s¦b这样ªº®z点¡A¦ýAJAX给¥¦²K¥[¤F§ó¦h¥i¯àªºº|¬}¡C
2.XML¤¤¬r
«Ü¦hWeb2.0应¥Î¤¤¡AXML传输¦bªA务¾¹©M浏览¾¹¤§间©¹Î`¡CÊI络应¥Î±µ¦¬来¦ÛAJAX«È户ºÝªºXML块¡C这XML块«Ü¥i¯à¬V¬r¡C¦h¦¸将递归负载应¥Î¨ì产¥X¬Û¦üªºXML节点,这样ªº§Þ术还¦}¤£´¶¹M¡C¦pªGÉ󾹪º处²z¯à¤O较®z¡A这将导PªA务¾¹©Ú绝ªA务¡C«Ü¦h§ð击ªÌ还¨î§@结ÌÛ错误ªºXML¤å档¡A这¨Ç¤å档会Êð乱ªA务¾¹¤W©Ò¨Ï¥Îªº¨Ì赖åªRÉó¨îªº逻辑¡CªA务¾¹ºÝªºåªRÉó¨î¦³两Ïú类«¬¡A¥¦们¬OSAX©MDOM¡CÊI络ªA务¤]¨Ï¥Î¬Û¦Pªº§ð击¦V¶q¡A这¬O¦]为ÊI络ªA务±µ¦¬SOAP®ø®§¡A¦ÓSOAP´N¬OXML®ø®§¡C¦b应¥Î层¤jS围¦a¨Ï¥ÎXMLs¨Ï§ð击ªÌ¦³§ó¦hªºÉó会§Q¥Î这个·sªº§ð击¦V¶q¡C XML¥~³¡实Ê^参·Ó¬O¯à³Q§ð击ªÌ伪³yªº¤@个XMLªº属©Ê¡C这会¨Ï§ð击ªÌ¯à够§Q¥Î¤H·Nªº¤å¥ó©ÎªÌTCP连±µªº¯Ê³´¡CXML schema¤¤¬r¬O¥t¤@个XML¤¤¬rªº§ð击¦V¶q¡A¥¦¯à够§ï变执¦æªº¬yµ{¡C这个º|¬}¯à帮§U§ð击ªÌ获±oÉó±K«H®§¡C
3.恶·NAJAX¥N码ªº执¦æ
AJAX调¥Î«D±`¤£©ö¹î觉¡A终ºÝ¥Î户无ªkÚÌ©w浏览¾¹¬O§_¥¿¦b¥ÎXMLHTTP请¨D对¶H发¥X无记载ªº调¥Î¡C浏览¾¹发¥XAJAX调¥Î给¥ô·NÊI¯¸ªº时Ô¡A该ÊI¯¸会对¨C个请¨D¦^应¥Hcookies¡C这将导P¥X现ªnº|ªº潜¦b¥i¯à©Ê¡C¨Ò¦p¡A约¿«¤w经µn陆¤F¥Lªº银¦æ¡A¦}¥B³q过¤FªA务¾¹认证¡C§¹¦¨认证过µ{¦Z¡A¥L会±o¨ì¤@个会话 cookie¡C银¦æªº页±¤¤¥]§t¤F«Ü¦h关键«H®§¡C现¦b¡A¥L¥h浏览¾¹¥LÊI页¡A¦}¦P时¤´µM«O«ù银¦æ账户ªºµn陆状态¡C¥L¥i¯à会刚¦n访问¤@个§ð击ªÌªºÊI页¡A¦b这个ÊI页¤W§ð击ªÌ写¤F¤£©ö³Q¹î觉ªºAJAX ¥N码¡A这个¥N码¤£¥Î经过约¿«ªº¦P·N¡A´N¯à够发¥X¦Z¥x调¥Î给约¿«ªº银¦æÊI页¡A¦]¦Ó¯à够从银¦æ页±¨ú±o关键«H®§¦}¥B§â这¨Ç«H®§发°e¨ì§ð击ªÌªºÊI¯¸¡C这将导PÉó±K«H®§ªºªnº|¬Æ¦Ü¤Þ发¦w¥þ¬ð¯}¡C
4.RSS/Atom ª`¤J
这¬O¤@项·sªºweb2.0§ð击¡CRSS¤Ï馈¬O¤H们¦b门户ÊI¯¸©ÎªÌÊI络应¥Î¤¤¦@¨É«H®§ªº±`¥Î¤â¬q¡CÊI络应¥Î±µ¨ü这¨Ç¤Ï馈µM¦Z发°e给«È户ºÝªº浏览¾¹¡C¤H们¥i¥H¦b该RSS¤Ï馈¤¤´¡¤J¤å¥»ªºJavaScript来产¥Í对¥Î户浏览¾¹ªº§ð击¡C访问¯S©wÊI¯¸ªº终ºÝ¥Î户¥[载¤F带¦³该RSS¤Ï馈ªºÊI页¡A这个脚¥»´N会运¦æ°_来¡X¡X¥¦¯à够©¹¥Î户ªº电脑¤¤¦w装软¥ó©ÎªÌ窃¨úcookies«H®§¡C这´N¬O¤@个P©Rªº«È户ºÝ§ð击¡C§óÁV¿|ªº¬O¡A¥¦¥i¥H变ÉÝ¡C随着RSS©MATOM¤Ï馈¦¨为ÊI络应¥Î¤¤¾ã¦Xªº组¥ó¡A¦bªA务¾¹ºÝ将数Õu发¥¬给终ºÝ¥Î户¤§«e¡A过滤¯S©w¦r²Å¬O«D±`¥²nªº¡C
5.WSDL扫´y©Menumeration
WSDL¡]ÊI络ªA务¬É©w语¨¥¡^¬OÊI络ªA务ªº¤@个±µ¤f¡C该¤å¥ó´£¨Ñ¤F§Þ术¡A开©ñ¤èªk¡A创·s§Î¦¡µ¥µ¥ªº关键«H®§¡C这¬O«D±`±Ó·P«H®§¡A¦Ó¥B¯à够帮§U¤H们决©w§Q¥Î¤°¤\®z点来§ð击¡C¦pªG将¤£¥²nªº¥\¯à©ÎªÌ¤èªk¤@ª½开着¡A这会为ÊI络ªA务³y¦¨潜¦bªº灾难¡C«O护WSDL¤å¥ó©ÎªÌ©w对¨äªº访问¬O«D±`«nªº¡C¦b实际±¡况¤¤¡A«Ü¦³¥i¯à§ä¨ì¤@¨Ç¨Ï¥ÎWSDL扫´yªº¤@¨Çº|¬}¡C
6.AJAX±`规µ{§Ç¤¤«È户ºÝªºÚÌ认
°ò¤_web2.0ªº应¥Î¨Ï¥ÎAJAX±`规µ{§Ç来¦b«È户ºÝ¤W进¦æ«Ü¦h¾Þ§@¡A¤ñ¦p«È户ºÝ数Õu类«¬ªºÚÌ认¡A内®e检¬d¡A数Õu°ìµ¥µ¥¡C¥¿±`±¡况¤U¡AªA务ºÝ¤]应该备¥÷这¨Ç«È户ºÝ检¬d«H®§¡C¤j³¡¤À开发ªÌ³£没¦³这¤\°µ;¥L们这样°µªº²z¥Ñ¬O¡A¥L们°²设这样ªºÚÌ认¬O¥ÑAJAX±`规µ{§Ç来负责ªº¡CÁ×开°ò¤_AJAXªºÚÌ认©Mª½±µ发°ePOST©ÎªÌGET请¨D给¨º¨Ç应¥Î¡X¡X这¨Ç应¥Î¬O诸¦pSQLª`¤J,LDAPª`¤Jµ¥类随ÚÌ认进¤Jªº§ð击¥Dn来·½¡A¥¦们¯à够§ð击ÊI络应¥Îªº关键资·½¡X¡X³£¬O¥i¥H°µ¨ìªº¡C这³£¼W¥[¤F¯à够为§ð击ªÌ©Ò§Q¥Îªº潜¦b§ð击¦V¶qªº数¶q¡C
7.ÊI络ªA务¸ô¥Ñ问题
ÊI络ªA务¦w¥þ协议¥]¬AWS-RoutingªA务¡CWS-Routing¤¹许SOAP®ø®§¦b¤¬联ÊI¤W¦UÏú¦U样¤£¦Pªº节点¤¤ªº¯S别§Ç¦C¤¤传输¡C³q±`¥[±Kªº«H®§¦b这¨Ç节点来¦^传°e¡C¥æ¤¬ªº节点¤¤ªº¥ô·N¤@个³Q§ð击³£将P¨Ï§ð击ªÌ¯à够访问¨ì¦b两个ºÝ点¤§间传输ªºSOAP®ø®§¡C这将³y¦¨SOAP®ø®§ªº严«ªº¦w¥þªnº|¡C随着ÊI络应¥Î开©l³QÊI络ªA务®Ø¬[©Òªö¥Î¡A§ð击ªÌ们开©l转¦Ó§Q¥Î这¨Ç·s协议©M·sªº§ð击¦V¶q¡C
8.×§ïSOAP参数
ÊI络ªA务±µ¦¬«H®§©M来¦ÛSOAP®ø®§ªº变¶q¡C×§ï这¨Ç变¶q¬O«Ü¥i¯àªº¡C¨Ò¦p¡A¡§10¡¨¬OSOAP®ø®§¤¤¦h个节点¤¤ªº¤@个¡C§ð击ªÌ¥i¥H×§ï点¡A¦}¥B尝试¤£¦PÏúªºª`¤J§ð击¡X¡X¤ñ¦p¡ASQL,LDAP,XPATH,©R¥O¦æ¸Ñ释¾¹¡X¡X¦}¥B±´¯Á¯à³Q¥L¥Î来´x´¤¤Î¨ä内³¡«H®§ªº§ð击¦V¶q¡CÊI络ªA务¥N码¤¤错误ªº©ÎªÌ¤£够§¹备ªº输¤JÚÌ认¨ÏÊI络ªA务应¥Î©ö¤_发¥Íªnº|.这¬O¤@个¥Ø标«ü¦VÊI络ªA务©Ò带ªºÊI络应¥Îªº¤@项·sªº§ð击¦V¶q¡C
9.SOAP®ø®§¤¤ªºXPATHª`¤J
XPATH¬O¤@Ïú¥Î来¬d询XML¤å档ªº语¨¥¡A¥¦¸òSQL语¥y«Ü类¦ü¡G§Ú们´£¨Ñ¬Y¨Ç«H®§¡]参数¡^µM¦Z从数Õu库¤¤±o¨ì¬d询结ªG¡C«Ü¦h语¨¥³£¤ä«ùXPATH ¸ÑªRªº¥\¯à¡CÊI络应¥Î±µ¦¬¤j«¬XML¤å档¡A«Ü¦h时Ô这¨Ç应¥Î从终ºÝ¥Î户©MXPATH语¥y¤¤¨ú±o输¤J¶q¡C这¨Ç¥N码ªº¬q¸¨对XPATHª`¤J没¦³¤°¤\¨¾±s¯à¤O¡C¦pªGXPATH执¦æ¦¨¥\¡A§ð击ªÌ¯à够绕过认证Éó¨î©ÎªÌ³y¦¨Éó±K«H®§ªº¤@¨Ç损¥¢¡C现¦b¤H们¥uª¾¹D«Ü¤Ö³¡¤Àªº¯à够³Q§ð击ªÌ§Q¥ÎªºXPATHªºº|¬}¡Cªý¤î这个§ð击¦V¶qªº°ß¤@¤èªk´N¬O¦b给XPATH语¥y传递变¶qȪº时Ô´£¨ÑÓì当ªº输¤JÚÌ认¡C
10. RIA½G«È户ºÝ¤G进¨îªº伪³y
¤¥´IÊI络应¥Î¡]RIA¡^¨Ï¥Î«D±`¤¥´IªºUIn¯À¤ñ¦pFlash,ActiveX±±¥ó©ÎªÌApplets¡A¥¦¨Ï¥Î这¨Çn¯À§@为ÊI络应¥Îªº°ò¥»±µ¤f¡C这个®Ø¬[¦s¦b¤L个¦w¥þ问题¡C¨ä¤¤³Ì¥Dnªº¤@个´N¬O关¤_会话ºÞ²z¡C¥¦¬O¦b浏览¾¹¤¤运¦æªº¡A¦}¥B¦@¨É¬Û¦Pªº会话¡C¦P时¡A¥Ñ¤_«È户ºÝ将¤U载¾ã个¤G进¨î¤¸¥ó¨ì¦Û¤vªº¥DÉó¡A§ð击ªÌ´N¥i¥H颠ˤuµ{ªº¨º个¤G进¨î¤å¥ó¦}¥B¤Ï编译¥N码¡C§â这¨Ç¤G进¨î¦ê¥´¥]¦}绕过¤@¨Ç¥]§t¦b¥N码¤¤ªº认证逻辑¬O¦³¥i¯à实现ªº¡C这¬OWEB2.0®Ø¬[¤Uªº¥t¤@个¦³½ìªº§ð击¦V¶q¡C
结论
AJAX,RIA¥H¤ÎÊI络ªA务¬OWEB2.0应¥ÎªÅ间ªº¤T项«nªº§Þ术¦V¶q¡C这¨Ç§Þ术«Ü¦³«e´º¡A¥¦们带给®à±·sªºµ{¦¡¡A¥[强¤FÊI络应¥Îªº¾ãÊ^®Ä²v©M®Ä¥Î¡C随着这¨Ç·s§Þ术¦Ó来ªº¬O·sªº¦w¥þ问题¡A©¿²¤这¨Ç问题将会导P¾ã个¥@¬É发¥Í¥¨¤jªº灾难¡C¥»¤å¤¤¡A§Ú们¥u讨论¤F10Ïú§ð击¡C¦ý¬O实际¤W还¦³«Ü¦h¨ä¥Lªº§ð击¦V¶q¡C对这¨Ç·sªº§ð击¦V¶qªº³Ì¦nªº¨¾±s¤èªk¬O¼W¥[WEB2.0ªº¦w¥þ·N识¡A´£°ª¥N码¾Þ§@ªº¦w¥þ©Ê¥H¤Î°t¸mªº¦w¥þ©Ê¡C
[ ¥»©«³Ì«á¥Ñ chan0006 ©ó 2007-10-18 14:21 ½s¿è ]
¹ê¥Î¬ÛÃö·j´M: map av flash it cef ati ¤ô