3

2 つの Web サーバーがあり、これら 2 つのサーバー間でタスクを専用にしました。すべての asp/aspx ページを 1 つのサーバーに配置し、upload.aspx + sql サーバーを別のサーバーに配置することにしました。

サーバーの名前は次のとおりです。

http://server1.somecompany.com // すべてのページが存在する場所 + swfupload

http://server2.somecompany.com // これは、upload.aspx と SQL サーバーが存在する場所です

そして、ここにswfuploadがserver2からupload.aspxを呼び出すadd_item.asp内のコードがあります

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 に答える