我们有两个网络服务器,我们在这两个服务器之间专门完成了任务。 我们决定将所有的asp / aspx页面放到一个服务器上,并将upload.aspx + sql server放到另一个服务器中:
这是服务器的名称:
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中的安全问题,他们已经解决了这个问题,但这种固定使我们感到茫然。
我该怎么办呢?
问候。
答案 0 :(得分:6)
这是Flash中的安全措施。但是,您可以将远程服务器配置为接受这些请求,方法是在服务器的HTML根目录中包含名为crossdomain.xml
的文件。
该文件应如下所示:
<?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>
如果您必须允许从任何地方进行访问,请使用星号“*”替换“[您的源域]”。
欲了解更多信息,请访问:www.adobe.com/devnet/flashplayer/articles/cross_domain_policy.html
祝你好运!