时间: 2021-07-31 作者:daque
as代码2.0:对准flash player 7(3)
四、swf文献之间从http到https和议的考察
正如前一节所计划的,在flash 7播放器中,跨域和子域考察的准则仍旧窜改。除去此刻实行透彻域配合准则外,你必需显式证明承诺寄存在运用不安定和议的站点的文献考察寄存在运用安定和议(https)的站点的文献。按照被挪用的文献是对准flash 7播放器仍旧对准flash 6播放器颁布的,你必需实行一个allowdomain语句,或运用新的localconnection.allowinsecuredomain事变处置因变量或system.security.allowinsecuredomain()语句。
劝告:实行allowinsecuredomain()语句危及https和议供给的安定。惟有在你不许从新构造你的站点再不一切的swf文献都能接收https和议的效劳时才做如许的窜改。
底下的代码证明你大概须要做的窜改:// 承诺寄存在http://www.somesite.com或http://www.someothersite.com的// 对准flash 7播放器颁布的swf文献考察的寄存在https://www.somesite.com// 对准flash 6播放器颁布的swf文献中的吩咐my_lc.allowdomain = function(sendingdomain) { return(sendingdomain=="someothersite.com");}// 承诺对准flash 7播放器颁布的// 寄存在http://www.somesite.com或http://www.someothersite.com的// 对准flash 7播放器颁布的swf文献考察的对应吩咐 system.security.allowinsecuredomain("www.somesite.com","www.someothersite.com");my_lc.allowinsecuredomain = function(sendingdomain) { return(sendingdomain=="www.somesite.com" || sendingdomain=="www.someothersite.com");}
即使你暂时还没有运用那些语句,你也大概须要增添如许的语句。
纵然两个文献都在沟通的域也大概须要窜改(比方,寄存http://www.domain.com的文献挪用寄存在https://www.domain.com的文献)。
总的来说,即使你对准flash 7播放器颁布文献且适合以次前提,你大概要窜改你的文献,增添或窜改语句:
①你编写跨swf文献的剧本(运用loadmovie()、movieclip.loadmovie()、moviecliploader.loadclip()或当地贯穿东西)。
②挪用文献没有寄存在运用https和议的站点和被挪用的swf文献寄存在运用安定和议(https)的站点。
你必需做以次窜改:
①即使被挪用的swf文献是对准flash 7播放器颁布的,在被挪用的swf文献中包括system.security.allowdomain或localconnection.allowdomain语句,运用透彻域名配合(如本节前方的代码范例所示)。纵然挪用的和被挪用的swf文献寄存在沟通的域,也须要这个语句。
②即使被挪用的swf文献是对准flash 6或往日的播放器本子颁布的,且挪用的和被挪用的文献都寄存在沟通的域(比方,寄存http://www.domain.com的文献挪用寄存在https://www.domain.com的文献),不须要窜改。
③即使被挪用的swf文献是对准flash 6播放器本子颁布的,挪用的和被挪用的文献不在沟通的域,而你又不想对准flash 7播放器导出被挪用文献,就要窜改被挪用文献,增添或窜改system.security.allowdomain或localconnection.allowdomain语句,运用透彻域名配合(如本节前方的代码范例所示)。
④即使被挪用的swf文献是对准flash 6播放器本子颁布的,而你又想对准flash 7播放器颁布被挪用文献,就在被挪用文献中包括system.security.allowdomain或localconnection.allowdomain语句,运用透彻域名配合(如本节前方的代码范例所示)。纵然两个文献都寄存在沟通的域,也须要这个语句。
⑤即使被挪用的swf文献是对准flash 5或往日的播放器本子颁布的,且两个文献不在沟通的域,你不妨做两件工作。你不妨对准flash 6播放器颁布被挪用文献或窜改system.security.allowdomain语句,运用透彻域名配合(如本节前方的代码所示);大概你不妨对准flash 7播放器颁布被挪用文献,运用透彻域名配合(如本节前方的代码范例所示)。
五、承诺考察数据的效劳器端战略文献
运用那些数据承载挪用,flash文书档案不妨从外部源载入数据:xml.load()、xml.sendandload()、loadvars.load()、loadvars.sendandload()、loadvariables()、loadvariablesnum()、movieclip.loadvariables()、xmlsocket.connect()和macromedia flash remoting(netservices.creategatewayconnection)。swf文献也不妨在运转期导出运转期共享库(rsl)或其它swf文献中设置的资源。在默许情景下,被导出的数据或rsl必需保存在与承载那些外部数据或媒介的swf文献沟通的域。
要使来自各别域的swf文献不妨运用数据和运转期共享库中的资源,你该当运用跨域战略文献。跨域战略文献是一个xml文献,它为效劳器供给一种本领来指明它的数据和文书档案对来自某些域或一切域的swf文献是可用的。任何一个来自效劳器战略文献中指定的域的swf文献都承诺考察该效劳器的数据或rsl。
即使你在承载外部数据,纵然你不安排对准flash 7播放器颁布任何文献,你也该当创造战略文献。即使你正在运用rsl,且对准flash 7播放器颁布挪用的和被挪用的文献,你该当创造战略文献。