从Flex执行JavaScript:这个javascript函数是危险的吗?

mma*_*tax 4 javascript apache-flex exploit

我有一个flex应用程序,需要能够生成和执行JavaScript.当我这样说时,我的意思是我需要执行我在Flex应用程序中创建的原始JavaScript(而不仅仅是现有的JavaScript方法)

我目前通过公开以下JavaScript方法来做到这一点:

function doScript(js){ eval(js);}
Run Code Online (Sandbox Code Playgroud)

然后我可以在Flex中做这样的事情(注意:我正在做一些比真正的Flex应用程序中的警报框更重要的事情):

ExternalInterface.call("doScript","alert('foo'));
Run Code Online (Sandbox Code Playgroud)

我的问题是这是否会带来任何安全风险,我假设它不是因为Flex和JasvaScript都运行客户端...

有一个更好的方法吗?

The*_*heo 7

不需要JavaScript函数,第一个参数ExternalInterface可以是任何JavaScript代码,它不必是函数名(文档说明如此,但它是错误的).

试试这个:

ExternalInterface.call("alert('hello')");
Run Code Online (Sandbox Code Playgroud)