Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 是否可以阻止本地运行的SWF(AS3)从我的网站下载?_Apache Flex_Actionscript 3_Crossdomain.xml - Fatal编程技术网

Apache flex 是否可以阻止本地运行的SWF(AS3)从我的网站下载?

Apache flex 是否可以阻止本地运行的SWF(AS3)从我的网站下载?,apache-flex,actionscript-3,crossdomain.xml,Apache Flex,Actionscript 3,Crossdomain.xml,我有一个crossdomain.xml文件,它允许运行在少数几个域上的SWF从我的域下载资源。然而,解决这个问题的一个简单方法是用户将SWF下载到本地机器上,并在那里运行它(即在Windows资源管理器中双击它,而不是通过运行)。出现这种情况时,似乎会忽略crossdomain.xml文件 我知道在我的动作脚本中,我可以做到: if (Security.sandboxType.indexOf(Security.REMOTE) == -1) // running locally - don't

我有一个crossdomain.xml文件,它允许运行在少数几个域上的SWF从我的域下载资源。然而,解决这个问题的一个简单方法是用户将SWF下载到本地机器上,并在那里运行它(即在Windows资源管理器中双击它,而不是通过运行)。出现这种情况时,似乎会忽略crossdomain.xml文件

我知道在我的动作脚本中,我可以做到:

if (Security.sandboxType.indexOf(Security.REMOTE) == -1) 
// running locally - don't allow
然而,对某人来说,反编译SWF并简单地删除这一行是非常容易的

有没有可能在服务器端做些什么来阻止本地运行的SWF从我的站点下载?我试着检查推荐人,但这个字段通常没有填充。有人有其他想法吗


谢谢,Matt

使用
crossdomain.xml
您永远无法完全阻止下载。如果用户只是将请求的URL复制并粘贴到一个空白的浏览器窗口中,该机制将停止工作。还有机制。它所做的只是稍微提高一点标准,特别是当有人试图使用SWF视频播放器来流式播放你网站上的FLV视频时


如果保护您的资源是值得的,您应该考虑添加某种认证/授权机制和/或加密。

双击和运行SWF通常只在安装了独立播放器时才起作用,否则它将打开W/A浏览器。Adobe是否在Flash Pro之外发布独立播放器?他们不习惯,尽管随着Flash平台工具的发展,他们现在可能会这样做


然而,我希望大多数用户不会安装独立的播放器。在安全性和内容保护方面,我怀疑您的关注点是错误的

说得好。我只是感到惊讶,因为很多想法都清楚地进入了crossdomain.xml文件,因此我感到惊讶的是,它很容易被绕过。不一定,如果我下载一个SWF并双击它,它会在webbrowser中打开,而是使用一个file://URL而不是http://URL,当这种情况发生时,已忽略crossdomain.xml文件。@很有趣。不过,我没有任何进一步的评论。