如何在PHP和Flash之间进行通信

时间:2013-02-23 11:23:55

标签: php actionscript-3 web flash

我有一个看起来像这样的php文件。

<?php
session_start();

$_SESSION['username']= ________;//Get data from swf file
$_SESSION['password']=_________;//Get data from swf file
?>

<!------EMBEDDING SWF FILE--->
<html>
    <body>
        <div id="flashContent">
            <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="1024" height="600" id="indexFLA" align="middle">
                <param name="movie" value="indexFLA.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="#ffffff" />
                <param name="play" value="true" />
                <param name="loop" value="true" />
                <param name="wmode" value="window" />
                <param name="scale" value="showall" />
                <param name="menu" value="true" />
                <param name="devicefont" value="false" />
                <param name="salign" value="" />
                <param name="allowScriptAccess" value="sameDomain" />
                    <a href="http://www.adobe.com/go/getflash">
                        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
                    </a>
            </object>
        </div>
    </body>
</html>

现在我想使用嵌入式flash文件中的actionscript3设置$_SESSION[]个变量。

我知道您可以使用URLRequest("file.php")与外部php进行通信,但我不确定这将如何与swf文件本身所在的php进行通信。

我该怎么做?

谢谢

1 个答案:

答案 0 :(得分:2)

您的Flash文件不在PHP :)。您只需将对象嵌入由PHP打印的HTML代码中。

现在,关于flash和PHP之间的通信:

基本上:通过加载页面传递变量(发送POST数据或打印出正确的内容)

此外,您永远不应该通过简单地使用flashvars传递敏感数据(如用户名和密码)(例如,将其嵌入HTML代码中,就像您要求的那样) - 同样可以在屏幕上打印。这是完全不安全的。您应该在代码执行期间传递加密数据(或更好:仅校验和)。不是任何知道如何查看网页源代码的人都可以阅读的方式。