1

我有一个看起来像这样的 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>

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

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

我该怎么做?

谢谢

4

1 回答 1

2

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

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

  • 在 flash 代码执行期间如何将变量从 PHP 发送到 flash 的示例:https ://stackoverflow.com/a/7620511/2028547 - 您实际上加载了包含您的内容的 PHP 文件。
  • 以及如何将变量从 Flash 发送到 PHP 的示例:http ://forums.adobe.com/message/4215407

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

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

于 2013-02-23T11:31:39.297 回答