作者cjcat2266 (CJ Cat)
看板Flash
标题Re: [问题] Flash有办法取得现在所在位置的网址吗?
时间Thu Jun 11 13:29:18 2009
我忽然想起来我有做过类似的功能
只不过是用在单机游戏上
http://cjcat2266.deviantart.com/art/The-Carnivorous-Bunny-renewed-54628564
肉食兔:)
里面存音乐、游戏资料的SWF
如果不是用主程式开启,都会显示"Data locked"
因为我主程式载入这些SWF之前
会去设定一个class static variable为特定字串(即密码)
这些SWF一开始就会检查这个static variable是否符合
如果没有符合,就表示不是用主程式载入的(此variable预设为空字串)
符合密码则进入下个画面
密码不符合则显示"Data locked"
这招是可以用在网路上
不过人家如果内嵌的是你的主程式,那也没辄了 :(
或者,你可以自己用JS传资料给SWF
SWF接到此资料,即可确定是内嵌在你的网页里
如果没有接收到此资料,表示是内嵌在别人的网页里
缺点是有可能被人家从HTML原始码发现此JS函式
第三个方法
用主程式载入SWF
此SWF的网域空间用cross domain policy XML file规定只有主程式的网域可以载入它
这样就可以防止别人从其他网域仔入此SWF档
这应该是最安全的方法
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凯特 = 蜚蠊猫 = 蟑螂猫
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比闪光(Adobe Flash)研讨区
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.234
1F:推 forestluch:将密码存成外部资料 再用主程式使用相对路径呼叫 06/11 13:48
2F:→ forestluch:以前有这样用过... 06/11 13:49
※ 编辑: cjcat2266 来自: 140.112.4.234 (06/11 15:04)
3F:推 no1kk:在放置swf的页面存入一个cookie,从swf去呼叫同网域的php 06/11 23:12
4F:→ no1kk:如果检查有发现此cookie则通过,如果没有则失败,这样行吗? 06/11 23:12
5F:→ cjcat2266:好像也可以,不过用cross domain policy file应该更容易 06/11 23:23
6F:→ scars:推一下第三个方法 06/12 11:51
7F:→ poomsne:prolicy是比较好的做法 06/16 17:02