Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.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
Flash 限制SWF文件的可见性_Flash_Actionscript 3_Security - Fatal编程技术网

Flash 限制SWF文件的可见性

Flash 限制SWF文件的可见性,flash,actionscript-3,security,Flash,Actionscript 3,Security,我的主SWF文件加载了许多外部SWF文件。但是,这些外部SWF文件只是位于web服务器的公用文件夹中 是否可以将SWF可见性限制为仅我的主SWF文件(加载外部SWF的文件)。在当前状态下,任何知道去哪里查找的用户都可以输入URL并访问SWF,更不用说不遵循robots.txt的流氓机器人了 原因很简单。用户使用用户名/密码登录到主Flash应用程序,主Flash应用程序依次加载SWF文件,然后用户才可以使用这些文件。此外,根据登录用户的身份,某些SWF文件会受到限制且不会加载 谢谢你的帮助 根据

我的主SWF文件加载了许多外部SWF文件。但是,这些外部SWF文件只是位于web服务器的公用文件夹中

是否可以将SWF可见性限制为仅我的主SWF文件(加载外部SWF的文件)。在当前状态下,任何知道去哪里查找的用户都可以输入URL并访问SWF,更不用说不遵循robots.txt的流氓机器人了

原因很简单。用户使用用户名/密码登录到主Flash应用程序,主Flash应用程序依次加载SWF文件,然后用户才可以使用这些文件。此外,根据登录用户的身份,某些SWF文件会受到限制且不会加载


谢谢你的帮助

根据您想要的安全程度,我可以想出几个选项:

  • 一个服务器端脚本,用于控制子主权财富基金的交付(正如Pekka上面所建议的)

  • 如果您想在客户端执行所有操作,您可以在每个子swf中放置条件测试,这样它们只能在主swf中播放:

  • 类似于
    if(this.parent.toString()!=“mainSwf”){stop();}
    (在伪代码中)

    诚然,这并不是万无一失的,因为有人可以很容易地将自己的父母命名为“mainSwf”,但这会阻止随意浏览你的子主权财富基金。至少在有人反编译之前

    通过在主swf中设置一个属性,例如
    var myKey:String=“362574036704ry3f0y3432607”
    ,可以使事情变得稍微困难一些,然后使用您的条件测试它:
    if(this.parent.myKey!=“362574036704ry3f0y3432607”){stop();}

    不过,这并不十分安全。希望这有帮助


    编辑:


    还有一个类似的问题,可能会有有用的答案。

    这取决于flash如何进行身份验证。Flash需要使用数据库与服务器端应用程序进行身份验证。然后,服务器端应用程序可以使用数据库对每个文件执行访问控制

    所有
    文件
    都应通过一个表进行跟踪,该表包含文件的本地
    路径
    等列,以及
    用户组
    或可能是
    用户id
    。经过身份验证的会话应在用户使用用户名和密码登录后跟踪用户id

    攻击蜘蛛经常使用robots.txt来攻击你,如果你把这些文件路径放在robots.txt中,你最好把它们拉上拉链,交给攻击者


    对flash应用程序进行反编译和修改非常容易。不要依赖“客户端”安全系统,它们很容易被绕过。攻击者还可以使用篡改数据重播和修改HTTP请求。您需要一个服务器来告诉客户端它可以访问哪些文件

    我对Flash不太熟悉,所以我不知道Flash在这方面有什么特殊的可能性,但这可以通过使用服务器端语言(如PHP或ASP)登录来解决。登录将创建一个会话,有效的会话将是传递后续文件的条件。谢谢Pekka。我很乐意接受这个想法,但我很确定Flash只能通过请求URL加载外部资产(包括主权财富基金)(主权财富基金无法交付给它)。如果这是真的,那么如果主权财富基金受到任何形式的保护,Flash将永远无法接触到它们。难道不能通过修改.htacess来阻止目录列出吗?所以它不能列出,但是如果你知道确切的名字,你仍然可以打开文件。也许可以通过在文件名的末尾附加一个散列来使名称无法获取*实际上是不可能的-1您不能提出这样的漏洞,特别是如果您知道这是一个漏洞。反编译flash或重放带有篡改数据的GET请求可以绕过客户端安全系统。@车:呵呵,下次我一定会更仔细地阅读FAQ!但一定要让我知道你认为“获取嗅探”将如何破解这个方法。是的,有时由于其他原因服务器端解决方案是不可能的。。。我猜我们生活在一个不完美的世界嗨,谢谢你的回复!我曾考虑使用这样的方法,但问题是如果外部SWF位于受保护的目录中,即不公开可见,那么Flash也无法加载它们,对吗?我认为主要的问题是不能将SWF对象传递到Flash应用程序中。只有Flash应用程序才能通过引用实际URL加载SWF对象。那么这可能是不可能的-(好吧,我想如果这不可能的话,我将不得不达成某种妥协。关于主权财富基金的版权问题有点复杂,但这是业务要求的本质。如果这是一个安全妥协,那么我必须向我的客户表明这一点。可用性妥协可能是另一种方式。也许我可以把它变成一种空气改为桌面应用程序,用户将登录到web应用程序,并看到可供下载的“属于”他们的SWF。他们将这些SWF文件从服务器下载到计算机上,以便AIR应用程序可以访问这些文件。