17.1.创建,打开Local Shared Object

问题
我想当访问swf过程中存储一些信息
解决办法
使用LSO.
讨论
如同这章的简介里描述的那样,Flash的LSOs 就如同Web浏览器中的cookies,它们被一些开发者称为“超级cookies”,因为LSOs可以存储大量数据,且存储和读取的都是原生的ActionScript数据类型。


LSOs 默认的空间大小100 KB, 用户可以通过Flash Player's Settings Manager控制LSOs的使用空间大小,来严格限制被使用的空间。存储在客户端的LSO文件是一种二进制文件,扩展名为.sol。


同一个域的Flash电影通过flash.net.SharedObject类读写.sol文件。


当.sol文件创建后,被放置在Flash播放器对应的应用程序数据目录,以Windows为例,目录为C:\Documents and Settings\[ username ] \\Application Data\\Macromedia\\Flash
Player\\#SharedObjects\\ [ random character directory name ] , 在Mac OS X 上, 目录为/Users/[ username ] /Library/Preferences/Macromedia/Flash Player/#SharedObject/ [ random character directory name ]。随机字符目录命名是为了安全考虑。一些恶意的swf文件可能试图猜测shared object(共享对象)的名称或目录,以便从文件系统中读取LSO,进而提升访问权限。


因此必须把路径随机化,这样猜路径几乎是不太可能了。

LSOs 的静态方法getLocal( ) 用于创建或打开共享对象,它至少需要一个参数指明共享对象名称:
+展开
-ActionScript
var example:SharedObject = SharedObject.getLocal( "example" );

getLocal( )方法首先试图定位找到LSO,如果找不到则根据这个名字创建新的,否则则返回SharedObject 实例。

加支付宝好友偷能量挖...


评论(0)网络
阅读(111)喜欢(0)flash/flex/fcs/AIR