Player的安全域SecurityDoma_第1页
Player的安全域SecurityDoma_第2页
Player的安全域SecurityDoma_第3页
Player的安全域SecurityDoma_第4页
Player的安全域SecurityDoma_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.Player的平安域 Security Domain深化理解Flash Player的平安域Security Domains2020-12-102020年12月06日简介假设你还没有与复杂的的平安域security domain和应用步伐域application domain不懂的题目打过打交道,那末你真是个幸运的家伙。当你在加载外部内部本质意义然后她们开场播放的时候,默许的设置事情的大好,你甚或不懂患上她们的存在。可是某些时候你可能需要节制默许设置之外的更多举动和成效,如许你就会遇到前边所谓不懂的题目。你也许会困扰于security.allowdomain和crossdomain.xml文

2、件的区别,又或你想要穷究有关平安性的最正确理论。假设是如许,那末本文就是你所需要的了。以下的教程将会会商啥子是平安域和应用步伐域,和她们在flash player中应该怎样施用。平安域introduction简介sandboxing沙箱security domains平安域trust信托权利委托non-executable trust不成执行文件的信托机制non-executable content without trust非受信的不成执行文件swf communication without trust在非受信的swf之间通信merging security domains归并平安域sta

3、ge owner and access场景的拥有者和获取职权范围local security domains当地平安域sandboxing沙箱沙箱是用于区分不同的数值和步伐执行。沙箱对平安性尤其重要。假设没有患受骗的信托权利委托,两个位于不同沙箱内的内部本质意义应该没有不管什么交互。flash player的平安模子施用称为平安域的沙箱来分散内部本质意义。虽那么平安性是沙箱的首要用场,但这并非独一施用沙箱的缘故原由。别的一种可能的情形是施用沙箱来防止定名冲突,这种区分代码的沙箱体式格局在flash player中被称为应用域。security domains平安域平安域在flash中是顶级的沙

4、箱。平安域链接到内部本质意义的来源域名,或是被加载的内部本质意义如swf文件的来源域名。比方在senocular 下的swf文件包罗1个链接到senocular 的平安域,而在example 下的swf文件那么有1个链接到example 的平安域。不同的平安域要患上swf文件在flash player中播放一时的运气行在自身的沙箱下。flash player中的平安域沙箱注重:在本教程的例子中,你将看到我用同一顶级域名义之下的不同子域来代表不同域名,这是因为在flash中,不同子域和不同顶级域同样,都被视为不同的域。例如中代码也被简化过了,在flash编纂环境下历时间线代码也可以举行试验。不成

5、执行的内部本质意义非swf文件,比方图片或文本文件,也被区分清楚到平安域中,同样与她们所处的域名相接洽瓜葛。实际上,恰是域名决议了这些个内部本质意义是否可以容或被某个swf文件加载。更多这方面的内部本质意义将在不成执行文件的信托机制章节及第行会商。回到swf上来,平安域区分清楚了数值和可执行代码。假设两个swf处于不同的平安域下,某个swf中的数值比方某个变量是不成以被其他swf获取的,固然,代码也不能执行。假设测验考试获取其他域中swf文件的数值将会孕育发生1个平安纰缪。底下的代码展览了1个swf文件诡计加载别的1个swf,并获取其文档类的实例也就是主时间线。loader:loader=ne

6、w loader;loader.contentloaderinfo.addeventlistenerevent.init,init;var url:string="你好ld.swf";loader.loadnew urlrequesturl;function initevent:event:voidtraceloader.content;/securityerror:error#2121:security sandbox violation:/loader.content:/cannot access你好ld.swf./t你好s may be worked around b

7、y calling security.allowdomain.肆意想要获取被加载的swf文件的内部本质意义的测验考试,甚或包括trace loader的content属性。城市导致平安纰缪,因为她们二者处于不同的平安域内。平安域的区分清楚也合用于flash player所施用的原生actionscript类。flash player在每个平安域中都始于了自力的原生类。举例来说,1个平安域内的xml类与别的1个平安域内的xml类是不一样的,转变此中1个xml的静态属性xml.prettyindent并不会影响到另1个平安域。底下这个swf文件加载了两个子swf,1个来自自身的域,另1个从别的的域

8、加载。咱们转变了主文件的prettyindent属性,来看看这两个子文件的属性输出。/2xml.prettyindent=5;tracexml.prettyindent;/5/same domain:var sameloader:loader=new loader;var sameurl:string="你好ld.swf";sameloader.loadnew urlrequestsameurl;/different domain:var diffloader:loader=new loader;var diffurl:string="你好ld.swf"

9、;diffloader.loadnew urlrequestdiffurl;你好ld.swf:trace"same:"xml.prettyindent;/same:5你好ld.swf:trace"diff:"xml.prettyindent;/diff:2可以看到,第二个子文件的属性并没有被转变。这就申明不同的平安域具备不同的原生actionscript类界说。trust信托权利委托只管平安域只容许一样域下的通信,可是咱们可以路程经过过程信托权利委托来让处于两个不同平安域内的swf文件举行通信。路程经过过程权利委托,某个平安域内的文件可以获取另1个域内文

10、件的的数值,或调用其方法,就像是处于一样的平安域下同样。在actionscript中,swf的信托权利委托是路程经过过程security.allowdomain或近是的security.allowinsecuredomain来设置的。在被信托的平安域内的代码可以调用这个方法来权利委托信托给另1个或一组在其他平安域内的swf文件。这种信托是单向的,建议allowdomain的swf文件不能去拜候被权利委托信托的文件,错非对方也做了信托权利委托。建立信托瓜葛的平安域鄙人面的例子中,1个子swf文件调用allowdomain来容许父swf的拜候:loader:loader=new loader;lo

11、ader.contentloaderinfo.addeventlistenerevent.init,init;var url:string="你好ld.swf";loader.loadnew urlrequesturl;function initevent:event:void/子文件执行了allowdomaintraceloader.content;/object documentclass你好ld.swf:security.allowdomain"home.example ";假设没有授信,就像前文说到的,照旧会引发平安纰缪。可是一朝被加载的子swf

12、调用了allowdomain往后,父swf文件就可以自由的拜候子swf文件中的内部本质意义。要注重的是在这个例子中,由于父swf文件没有权利委托away.example 的信托,所以子swf仍然没有方法拜候loader的content属性。信托长短常重要的平安观点,绝对不能失以轻心。咱们经常看见施用通配符的权利委托:/警觉哦!security.allowdomain"*";恁地做将容许所有swf文件,不单单只是你加载的或是加载你的,可以路程经过过程actionscript来拜候你文件中的数值。就算你没有在文件中包罗敏锐数值,可是假设你在文件中供给了某些方法去获取这种数值,那

13、也可能被其他swf调用。施用allowdomain来权利委托的信托就像给了其他swf文件相称的权利:你能做啥子,我就能做啥子。在接下来的归并平安域章节中你将看到这象征着啥子。假设你只是想让swf之间可以容或通信,除了信托权利委托的方法之外咱们还可以施用sharedevents对象来使成为事实,咱们将在在非受信的swf之间通信章节中会商。non-executable trust不成执行文件的信托机制由于不成执行文件也就长短swf文件不能调用allowdomain代码,所以这种文件的信托机制在flash player中有纷歧样的措置惩罚方法。这就是跨域cross-domain计策文件派上用场的处所

14、。跨域计策文件是1个放在网站的根域名义之下的定名为crossdomain.xml的xml文件。和allowdomain近似,界说了一组可以被flash player加载的平安网站域名。1个简单的跨域计策文件的例子如次:你可以从cross-domain policy file specificationadobe 患上到详细的文件格局信息。和allowdomain不同的是,跨域计策文件只供给了包罗所有文件但但凡1个域下的所有文件的用处。上边的例子暗示容许来自example 的肆意子域或 example-partner 的swf文件加载example 下的文件。由于存在allowdomain机制,

15、跨域计策文件但凡不消于权利委托swf文件的拜候。跨域加载swf的时候不会恳求跨域计策文件。只有当要把1个跨域的swf归并到时下的平安域的时候,才需要供给跨域计策文件。这个正题将在归并平安域及第行会商。不管是标准的位于域名根目次下的跨域计策文件照旧用security.loadpolicyfile指定的跨域计策文件,都只有在需要的时候才会被加载:当内部本质意义被加载的同时,跨域计策文件也被一起加载进来。加载完成后,flash player分析超过计策文件并判断该域是否为信托swf所处的域。假设谜底是必定的话,文件正常加载,就像处于和swf文件一样的域同样。与之相反那么可能有两种情况:文件不被加载文

16、件加载乐成,可是其数值不能被swf文件直接拜候假设文件本身就是数值文本文件,xml文件,二进制数值等等,那末文件就不会被加载。需要跨域计策文件来加载仅包罗数值的文件假设文件除了数值之外另有其余用场图象文件,声响文件等,那末文件照旧可以容或被加载到用户可见可听的环境中。比方说图象文件,就算没有跨域计策文件,照旧可以在loader对象中预示给用户看。可是近似bitmapdata.draw等直接拜候图象数值的方法就不能运行。需要跨域计策文件来获取其他文件的数值的引用对此可能大家都有点疑惑。实际上用户是可以拜候这些个数值的,可是swf文件不行。flash player是在掩护用户的数值不被躲藏有伤害代

17、码的swf文件获取。用户不需要关心跨域计策文件也能正常的阅读网页内部本质意义。但这并非说跨域计策文件可以被轻忽,近似于底下这种过度放纵的跨域计策文件有许多潜在的伤害:警觉哦!-正告:施用通配符*容许所有域的拜候等同于:用户可能可以接触到的所有处于该域下的数值都可能被肆意swf文件获取。客户真个flash player运行在时下用户的认证下,这就暗示用户的数值可能就是flash player的数值。并且flash player的数值可能被肆意在里面运行的swf获取。flash player默许只容许一样域名义之下的swf的平安数值,并限定跨域swf的运行。假设没有这层限定,swf可以获取肆意时下

18、用户可以获取的数值。举个例子:某用户施用他的认证来登录网页的邮件客户端交来邮件,然后用户翻开了1个包罗有恶意步伐的swf的页面。假设没有跨域限定的话,这个swf可以用他现存的认证偷偷地加载用户的邮件页面。用户可以拜候的内网也不例外,只要用户能去的处所,swf就能去。幸好flash player阻止了这种获取数值的举动,错非该域路程经过过程跨域计策文件给予swf权利委托。记住1个原那么,永久不要对包罗敏锐数值的域研发跨域权利委托,纵然需要上边的信息来举行用户认证。把swf可以拜候的数值区分清楚到不同的域或子域底下。domaindescriptionpolicy filelogin.example

19、 hosts user datanonefeed.example hosts public dataincludes:这将要患上敏锐数值不成被拜候,可是仍然可以对其他域下的swf文件公然你的其他数值。non-executable content without trust非受信的不成执行文件假设没有跨域计策文件的信托权利委托,flash player抑制非swf文件的获取。出格是像文本那样的仅包罗数值的文件,甚或不会加载。假设你需要从1个没有跨域权利委托的域中获取数值,照旧有1个权宜的措施。跨域计策文件用于掩护数值,出格是掩护用户数值,或说是用户可以容或接触到的数值。因为flash playe

20、r是运行在客户真个,可是办事器真个代码没有这种限定。办事器完全是别的一台机器,所以用户请乞降办事器恳求是完全无关的。由于办事器没有效户的限定,办事器真个代码可以从肆意公然的搜集办事获取数值。也就是说包罗swf的办事器可以用于拜候外部域的数值,然后作为一样域的数值归回给flash player。由于居于一样的域下,flash player就不需要有跨域计策文件了。底下的代码演习了1个办事器真个php脚本加载外部数值的例子:urlloader:urlloader=new urlloader;var urlvariables:urlvariables=new urlvariables;/办事器端获取

21、外部数值的地址urlvariables.externalurl="办事器真个脚本获取外部数值并传给swfvar serverpage:string="request:urlrequest=new urlrequestserverpage;request.data=urlvariables;urlloader.loadrequest;这种处理完成方案也有一定的不懂的题目。起首你必需可以容或在办事器端部署代码,某些小工程也许底子不需要办事器环境。另1个可能更重要的缘故原由是这种体式格局加倍了搜集流量。起首必需从外部域加载到你自己的域下,然后才被下载到你的swf客户端。同时这也加

22、重了你的办事器的负载。施用跨域计策文件的话就不会有这种不懂的题目。这可以作为一种处理完成方案,但最正确照旧能用跨域计策文件来处理完成。swf communication without trust在非受信的swf之间通信在某些情况下可能要与其他来源不那末靠患上住的域中的swf通信,你并不希望完全信托该域,铺开全数权利委托。对此loaderinfo对象的sharedevents属性供给了另一种机制。sharedevents对象是独一的1个可以在不同平安域中发送同享事务的对象。加载者和被加载者都可以路程经过过程这个对象来的方向对方发送事务。路程经过过程sharedevents对象发送的事务在两个域

23、中都是完全受信的,这就要患上在两个平安域中传递的肆意数值都无需思量平安不懂的题目。正告:把稳!路程经过过程sharedevents对象传递了纰缪的数值仍然可能把你的swf中的数值袒露出去。比方你的事务包罗了1个复杂对象,出格是预示列表上的对象,那末你的全般swf都将袒露。所以路程经过过程sharedevents发送的事务应该限定为包罗简单数值的事务类型,防止一些被包罗后门的swf步伐加以哄骗。假设你要传递复杂的事务,那要在传递以前先做一下清算。施用sharedevents举行通信的两个swf需要确保发送和吸收的是相符的事务类型。父swf可以发出一种事务并监听另一种。子swf可以监听父swf发出

24、的事务并发出父swf中正在监听的事务。这些个事务的名儿可以是随心的。底下的例子演习了在不同平安域中的父子swf施用sharedevents来通信简单的文本信息的情况。父swf发出"fromparent"事务,而子swf发出"fromc你好ld"事务。loader:loader=new loader;var shared:eventdispatcher=loader.contentloaderinfo.sharedevents;shared.addeventlistener"fromc你好ld",fromc你好ld;var url:st

25、ring="你好ld.swf";loader.loadnew urlrequesturl;function fromc你好ldevent:textevent:voidtraceevent.text;/good day var replymessage:textevent=new textevent"fromparent";replymessage.text="same to you";shared.dispatcheventreplymessage;你好ld.swf:var shared:eventdispatcher=loaderi

26、nfo.sharedevents;shared.addeventlistener"fromparent",fromparent;var firstmessage:textevent=new textevent"fromc你好ld";firstmessage.text="good day";shared.dispatcheventfirstmessage;function fromparentevent:textevent:voidtraceevent.text;/same to you肆意的事务类都可以像如许用于传递信息,也包括自界说

27、事务。再次强调,要把稳不要把包罗引用的数值出格是预示列表上的对象跟着事务一起发发送去。这种情况的例子在座景的拥有者和获取职权范围章节中可以找到。merging security domains归并平安域假设两个域之间建立了信托瓜葛,1个swf就能把别的1个swf加到自己的平安域内,就像是在一样的域下同样。在这种情况下信托权利委托的措置惩罚有少许不同。起首,包罗父swf的域不需要指定啥子,只要执行加载另1个swf到时下的平安域就暗示完全信托这个swf。其次,因为子swf是当即被加载到父swf的平安域中,并没有时机路程经过过程allowdomain举行信托权利委托声明。当子swf可以执行allow

28、domain声明的时候,已被加载并实例化到别的的域中。所以这种情况下,跨域计策文件将派上用场。实际上这也是跨域计策文件独一合用于对swf举行权利委托的情况。需要跨域计策文件把跨域的swf加载到一样的平安域要加载某个swf到自己的平安域内,需要给loader.load方法指定1个loadercontext对象。loadercontext对象的securitydomain属性设置为时下的平安域securitydomain.currentdomain。路程经过过程如许的加载体式格局,父swf授信给子swf,而子swf的授信那么需要路程经过过程跨域计策文件。localconnection.domain

29、;/host.example var loader:loader=new loader;/始于1个loadercontext对象把子swf加载到时下的平安域var context:loadercontext=new loadercontexttrue;context.securitydomain=securitydomain.currentdomain;var url:string="你好ld.swf";loader.loadnew urlrequesturl,context;你好ld.swf:tracenew localconnection.domain;/host.ex

30、ample 咱们可以路程经过过程localconnection对象的domain属性来查抄每个swf所处的平安域。虽那么子swf原先所处的域是trusting.example ,可是由于它被加载到父swf所处的域中,所以子swf最终所处的平安域是host.example 。用这个体式格局加载的swf文件权利比用allowdomain权利委托的更加大。施用allowdomain权利委托,等同于说你能做啥子,我就能做啥子。而把swf加载到同1个平安域,那么等同于我能做不管什么事。在前一种情况下,子swf只能调用父swf下的代码,照旧受限于父swf中的界说。可是路程经过过程加载到一样的平安域,这些个

31、子swf就可以在你的域底下做肆意操作,这包括:获取父swf中的肆意引用读取主域中的所有文件读取其他授信给主域的所有域下的文件读取主域下的同享对象获汲取经历由过程主域建立的同享毗连通信获取授信给主域的socket毗连所以在引入跨域swf文件到你时下的平安域下的时候,你要确保这种权利不会被滥用。施用包罗平安域的loadercontext对象的load方法不是可以容或引入跨域swf到你的平安域的独一方法。loader类的另1个方法loadbytes也可以做到。和load不同的是,它不是用url来加载外部内部本质意义,而是直接加载以bytearray的情势加载对象。由于bytearray与域名之间没有

32、接洽瓜葛,所以用loadbytes方法加载的对象将直接步入时下平安域内。因为你在加载包罗这些个字节对象以前去往都要经过某种信托权利委托,所以这但但凡平安的。localconnection.domain;/host.example var loader:loader=new loader;var urlloader:urlloader=new urlloader;urlloader.dataformat=urlloaderdataformat.binary;urlloader.addeventlistenerevent plete,bytesloaded;/cross-domain policy

33、 file required to load datavar url:string="你好ldbytes.swf";urlloader.loadnew urlrequesturl;function bytesloadedevent:event:voidloader.loadbytesurlloader.data;你好ldbytes.swf:tracenew localconnection.domain;/host.example 就和前边看到的例子同样,路程经过过程查抄子swf文件的localconnection.domain属性,施用loadbytes方法加载的子swf也

34、预示为一样的平安域。正告:loadbytes方法有个小小的平安不懂的题目:可以把授信过的跨域swf和加载到时下平安域下的swf二者间的不同扯平。咱们懂患上虽那么这二者都是被信托的,可是就像上边的列表中提到的,后者比前者的权利更大。"你能做啥子,我就能做啥子"与"我能做不管什么事"之间的差异,成果可以变成没有差异。这是因为授信过的跨域swf文件可以拜候父swf的不管什么对象,包括父swf对象的loader实例,一朝拥有了对loadbytes方法的引用,这就象征着可以把某些字节对象加载到时下的平安域。底下的这个例子展览了这种可能性:权利委托"你能做

35、啥子,我就能做啥子"security.allowdomain"evil.example ";/该当受掩护的数值var so:sharedobject=sharedobject.getlocal"foo","/";so.data.foo="bar";so.flush;var loader:loader=new loader;var url:string="你好ld.swf";loader.loadnew urlrequesturl;你好ld.swf:var so:sharedobject

36、=sharedobject.getlocal"foo","/";trace"trust only:"so.data.foo;/trust only:undefinedvar urlloader:urlloader=new urlloader;urlloader.dataformat=urlloaderdataformat.binary;urlloader.addeventlistenerevent plete,bytesloaded;var url:string="你好ldbytes.swf";urlloader.

37、loadnew urlrequesturl;function bytesloadedevent:void/威吓!loadbytes加载了swf数值到父swf的平安域loaderinfo.loader.loadbytesurlloader.data;你好ldbytes.swf:var so:sharedobject=sharedobject.getlocal"foo","/";trace"same domain:"so.data.foo;/same domain:ba将来版本的flash player可能会转变这种举动,所以在步伐中不要

38、施用这种方法。咱们应该存眷的是加载授信过的swf文件会带来的潜在威吓:袒露你的域下的所有数值。stage owner and access场景的拥有者和获取职权范围当熬头个swf文件被加载到flash player中的时候,它被加到预示列表的根上,也就是咱们所谓stage对象。这也是flash player自己的预示对象的根。每个swf都有代表自己主文档类或主时间线的根叫做root。熬头个被始于的swf实例的根被放置于场景上,其他子swf施用loader对象的实例来加载。场景的出格之居于于它本身就位于预示列表上,所有处于预示列表上的子swf都可以取患上它的引用,可是它只有1个拥有者:就是熬头个

39、被实例化的阿谁swf。场景的拥有者决议了场景所毗连的平安域。其他的swf想对场景举行特殊操作的举动都必需患上到场景所有者的信托权利委托。你可能有注重到在已往的有些步伐或是组件中,被加载到不同的域未授信里的时候报错。这恰是因为没有取患上对场景对象举行操作的权利委托。因为场景对象是可以被引用的,可是诸如场景的addeventlistener方法等却不成用,所以这很容易导致曲解。底下这个表格列出了场景对象限定非平安域对象拜候的成员。可能不是100%准确,首要用于参考。addc你好ldaddc你好ldatremovec你好ldremovec你好ldatgetc你好ldindexsetc你好ldinde

40、xgetc你好ldatgetobjectsunderpointswapc你好ldrenswapc你好ldrenatnumc你好ldrentabc你好ldrenmousec你好ldrenwidthstagewidthfullscreenwidthheightstageheightfullscreenheightqualityalignscalemodedisplaystatefullscreensourcerectstagefocusrectshowdefaultcontextmenucolorcorrectionaddeventlistenerdispatcheventhaseventlist

41、enerwilltrigger鄙人面的例子入眼看场景是怎样可以被子swf拜候,可是却不能调用stage.addeventlistener方法。loader:loader=new loader;addc你好ldloader;var url:string="你好ld.swf";loader.loadnew urlrequesturl;你好ld.swf:/workstracestage;/object stage/does not workstage.addeventlistenermouseevent.click,stageclick;/securityerror:error#

42、2070:security sandbox violation:/caller你好ld.swf cannot access/stage owned by场景的这种所有者瓜葛很是操蛋,因为咱们经常需要对场景对象监听鼠标或键盘事务,比方检测键盘按下或检测鼠标在物体外部开释点这儿。在这种情况下,单靠子swf自身是没措施完成的。还好,场景拥有者的父swf可以路程经过过程sharedevents传递场景事务而没必要授信给子swf。路程经过过程这种体式格局,可以在掩护主域的前提下配合完成这种事情。正告:以下这个施用典范演习了sharedevents是怎样措置惩罚平安性不懂的题目的。一些鼠标事务的relat

43、edobject属性保有对时间线上的对象的引用。假设不经过清算,这些个对象就会袒露给没有经过授信的域。所以路程经过过程sharedevents发送事务时,要把这些个引用断根。比方mouseevent,咱们可以新建1个仅包罗必需数值的mouseevent对象。底下的例如展览了怎样路程经过过程sahredevents发送场景事务。例如中仅仅转发了mouse_out事务,固然也可以扩大于其他的事务类型。注重怎样始于1个代办别人代理事务并掩护父swf中的对象。combination:string="1-2-3-4-5";/隐私数值var loader:loader=new load

44、er;var shared:eventdispatcher=loader.contentloaderinfo.sharedevents;var url:string="你好ld.swf";loader.loadnew urlrequesturl;stage.addeventlistenermouseevent.mouse_out,forwardmouseevent;function forwardmouseeventevent:mouseevent:void/威吓!这种做法袒露了relatedobject,也要患上其他数值被袒露/shared.dispatcheventev

45、ent;/safer:始于1个清算过的代办别人代理事务来堵截relatedobject的引用var safeevent:mouseevent=new mouseeventevent.type;safeevent.altkey=event.altkey;safeevent.buttondown=event.buttondown;safeevent.ctrlkey=event.ctrlkey;safeevent.delta=event.delta;safeevent.localx=event.localx;safeevent.localy=event.localy;safeevent.s你好ftk

46、ey=event.s你好ftkey;shared.dispatcheventsafeevent;你好ld.swf:var shared:eventdispatcher;/假设场景事务不能引用,那就路程经过过程sharedevents监听ifloaderinfo.parentallowsc你好ldstage.addeventlistenermouseevent.mouse_out,stagemouseout;elseshared=loaderinfo.sharedevents;shared.addeventlistenermouseevent.mouse_out,stagemouseout;fu

47、nction stagemouseoutevent:mouseevent:void/-stage mouse out actions here-/假设sharedevents传递了原始的鼠标事务,那末父域中的数值就袒露了!/traceobjectevent.relatedobject.root bination;/1-2-3-4-5幸好有safeevent这个mouseevent的实例,原有的mouseevent对象的relatedobject指向的引用被屏蔽了。实际上,所有路程经过过程sharedevents对象发送的事务都应该用这种体式格局清算一遍。local security domai

48、ns当地平安域在硬盘上运行的swf文件同样有自己的平安域。当地平安域有自己奇特的举动,共分为4种平安沙箱类型:local-with-file,local-with-network,local-trusted,and application for air本文不详细会商air。再加上彀络上的swf,一共有5种平安沙箱。在actionscript中,你可以用security.sandboxtype来患上到时下的平安沙箱类型。local-with-filesecurity.local_with_file-当地不受信托的文件,只可以拜候当地数值,不能与搜集通信。local-with-networksecurity.local_with_network-当地不受信托的文件,只可以拜候搜集,可是不能读取当地数值。local-trustedsecurity.local_trusted-当地受信的文件,路程经过过程flash player设购置理器或flashplayertrust文件权利委托。可以拜候当地和搜集。applicationsecurity.application-跟着air包而安装,运行在air步伐中。默许在这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论