views:

163

answers:

2

Hi all,

I have a flash app hosted at www.example.com that is trying to pull in assets from my Amazon S3 bucket at http://s3.example.com

I have a crossdomain.xml file that is world-readable at the root level of the bucket. s3.example.com/crossdomain.xml

The contents of that crossdomain.xml file are as follows:

    <?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"&gt;
<cross-domain-policy>
    <allow-access-from domain="*.example.com" />  
    <allow-http-request-headers-from domain="*.example.com" headers="*" />                        
</cross-domain-policy>    

When I run my app from www.example.com it will not load the resources from my s3 bucket. After some request sniffing via wireshark and httpfox it appears the flash app is not requesting the s3.example.com/crossdomain.xml at any point.

Any ideas why its skipping over this file? I shouldn't need to force it to look there right by using this: Security.loadPolicyFile("http://s3.example.com/crossdomain.xml"); ??

Thanks, Brian

+1  A: 

you topic

http://www.actionscript.org/forums/showthread.php3?t=170572

and this

http://www.actionscript.org/forums/showthread.php3?t=190239

try to compile it for new FP 10.x

and this http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html

====================UPDATE=============================

just lets test

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"&gt;
<cross-domain-policy>
    <allow-access-from domain="*.*" />  
    <allow-http-request-headers-from domain="*.*" headers="*" />                        
</cross-domain-policy>  

copy crossdomain.xml to example.com root too, i mean htdocs and left s3 with it too.

tell me the versions of each platform/language u r using.

and try to include your latest code row too.

let us know.

Eugene
Could you summarize the answers you're finding in those links? That way people searching for this question won't have to go through a link chase to find the answer.
rossisdead
please update us with solution you got? which answer was most useful?
Eugene
Okay guys, updating I finally got to try a few different things. I had to FORCE it to find the crossdomain file using loadPolicyFile. And using flash debugger determined it is now finding the crossdomain policy file and accepting it.. but still now allowing post requests across domain. Another issue for another topic. Thanks
bonez
+1  A: 

What's your AS2 code, and what kind of content are you trying to load? If possible, what's the actual URL you're trying to load?

You may need to force the crossdomain loading, like setting NetStream.checkPolicyFile (AS2, AS3) to true if you're trying to load a video.

One other error you may be running into is when the target server is redirecting you to another URL (via 301 redirect) - pretty common with images from some load-balanced services (say, Facebook). When that happens, Flash does not check the policy file after the redirect - in that case, yeah, you have to do a loadPolicyFile() yourself. You only need to do it once, though, preferably during your application initialization (it only queues the cross domain loading, letting Flash know it's ok to load that whenever it's needed).

zeh