Javascript 嵌入式闪存安全

Javascript 嵌入式闪存安全,javascript,flash,security,Javascript,Flash,Security,我和我的同事讨论了闪存安全问题。我们正在为使用Flash插件显示内容的web项目规划一些事情。我们需要使用JSON从服务器上动态地获取Flash应用程序的设置 我提出的建议是,我们应该保存一个额外的HTTP请求,以便在加载插件后提取数据文件,并将JSON直接嵌入到包含Flash插件的页面中。Flash将启动一个Javascript函数,将反序列化的JSON数据返回给它 我的同事带着严重的“安全顾虑”反对这一提议 我相信,除了他的方法需要额外的HTTP请求之外,这两种方法之间几乎没有区别。所有这些

我和我的同事讨论了闪存安全问题。我们正在为使用Flash插件显示内容的web项目规划一些事情。我们需要使用JSON从服务器上动态地获取Flash应用程序的设置

我提出的建议是,我们应该保存一个额外的HTTP请求,以便在加载插件后提取数据文件,并将JSON直接嵌入到包含Flash插件的页面中。Flash将启动一个Javascript函数,将反序列化的JSON数据返回给它

我的同事带着严重的“安全顾虑”反对这一提议

我相信,除了他的方法需要额外的HTTP请求之外,这两种方法之间几乎没有区别。所有这些都是客户端/服务器,客户端永远不应该被信任。如果我想更改JSON查询中的数据,我可以在这两种情况下都这样做。不过,文件拉入稍微难一些,但可以使用自定义HTTP代理


你的想法是什么?

没有区别。两者都可以制作。

如果您真的非常关心将原始设置传送到.swf:

  • 不要使用http-httpFox是一个出色的插件-使用支持RTMP/RTMPE和
    NetConnection.call()的服务器来检索数据

  • 创建验证原始json的算法,以便在配置未通过测试的情况下,应用程序无法运行

  • 加载配置后,您的swf可能会与服务器一起检查值(不是一次检查所有值),如果出现问题,则会抛出错误


我唯一想补充的是,你的flash可以用来运行javascript函数,而不仅仅是获取设置…@jswolf19不过,普通的js也存在同样的问题,只要swf和所有加载的内容都在凝固汽油弹的控制下,flash的外部接口就不会被破坏@凝固汽油弹:我认为你同事的反对源于这样一个事实,即如果你在页面上嵌入json,你会让别人更容易看到你的数据结构,研究它,并决定如何恶意攻击你。问题是,他的方法并不能免疫于此,这只是意味着黑客必须用firebug或charles检查流量日志才能获得相同的数据。琐碎。@scriptocalypse,我知道普通js也存在同样的问题,但如果flash程序嵌入到另一个页面上,可能是一个模拟凝固汽油弹页面的页面,那么我不确定交互将如何工作。。。例如,这样的页面是否能够在凝固汽油弹的域上设置cookies?我不太熟悉这两个领域的安全性是如何实现的,所以我不能肯定地说任何事情。@jswolf19好吧,swf文件可以被域锁定,这样它只能在给定的域上运行(并非完全不受坚定的黑客的影响,但取决于swf的构造,这是一个比查看流量日志更大的障碍)。至于Cookie,我对js创建和设置的浏览器Cookie知之甚少,但Flash的共享对象是特定于域的,因此简单地将swf嵌入到不同的域不会让黑客访问凝固汽油弹的共享对象,就我所知,编写跨域共享对象实际上是不可行的。还有更多……此外,如果凝固汽油弹网站上的swf随时从凝固汽油弹服务器请求数据,服务器应该有试图访问数据的可疑域的记录,因此,如果内容被盗,应该不难追踪到窃贼。如果没有对服务器的直接调用,那么窃贼就不得不麻烦地模拟他们自己的服务器。顺便说一句,我并不是试图以某种方式支持swf和js的相对安全性(两者都不是特别安全的)。在这一点上,我只是在沉思。