3

我们有两个网络服务器,我们专门在这两个服务器之间执行任务。我们决定将所有的 asp/aspx 页面放到一个服务器中,并将一个 upload.aspx + sql 服务器放到另一个服务器中:

这是服务器的名称:

http://server1.somecompany.com // 这是所有页面所在的位置 + swfupload

http://server2.somecompany.com // 这是 upload.aspx 和 sql server 所在的位置

这是 add_item.asp 中的代码,swfupload 将从 server2 调用 upload.aspx

SWFUpload.onload = function () {
    var audio_settings = {
        flash_url : "../script/swfupload.swf",
        upload_url: "http://server2.somecompany.com/upload.aspx", // this is where swfupload from server1 call server 2
        post_params: {
            "ASPSESSID" : "{CDDAF2E2-1178-4465-9842-E54751DE8664}",
            "HELLO-WORLD" : "Here I Am",
            "section" : "sound"
        },

当我单击上传按钮时,swfupload 尝试将我的页面重定向到 server2.somecompany.com 并且无法正常工作

但是当我将upload_url : 更改为类似:

http://server1.somecomapny.com

一切正常

我知道这与 swfupload 中的安全问题有关,他们已经像这样解决了它,但是这种固定让我们头晕目眩。

我该怎么办?

问候。

4

1 回答 1

6

这是 Flash 中的一项安全措施。但是,您可以将远程服务器配置为接受这些请求,方法是crossdomain.xml在服务器的 HTML 根目录中包含一个名为的文件。

该文件应如下所示:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>

  <allow-access-from domain="[ YOUR SOURCE DOMAIN HERE ]" to-ports="80" />

</cross-domain-policy>

如果您必须允许从任何地方访问,请用星号“*”替换“[ YOUR SOURCE DOMAIN HERE ]”。

有关更多信息,请在此处阅读:www.adobe.com/devnet/flashplayer/articles/cross_domain_policy.html

祝你好运!

于 2010-09-11T19:10:19.257 回答