2010-08-10 22 views
2

這讓我發瘋......我試圖用閃存構建一個YouTube播放器,並且每次加載視頻時,都存在運行時安全沙箱錯誤..我已將crossdomain.xml放入根服務器http://mysite.com中,但我仍然得到錯誤...我想念什麼?我必須將其加載到我的Flex項目??感謝您的答覆...如何爲我的Flash項目使用crossdomain.xml ...?

我的crossdomain.xml

<!-- <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
    <cross-domain-policy> 
     <allow-access-from domain="*.youtube.com"/> 
     <allow-access-from domain="s.ytimg.com"/> 
    </cross-domain-policy> 
--> 

編輯:20100811T0723;這是從http://popslinger.org/crossdomain.xml

<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain- policy.dtd"> 
<cross-domain-policy> 
<allow-access-from domain="*" /> 
</cross-domain-policy> 
+1

實際文件中的內容實際上沒有在您的文章中註釋掉,是嗎? ('<! - ') – Jacob 2010-08-11 00:26:10

+0

沒有它不是....這真的讓我瘋狂.... 這是我的地盤 http://popslinger.org/crossdomain.xml – FlyingCat 2010-08-11 00:34:07

回答

4

我得到了很多的錯誤太多,但他們一般似乎是在YouTube上的側

下面是一個例子:

*** Security Sandbox Violation *** 
SecurityDomain 'http://www.youtube.com/apiplayer?version=3' tried to access 
incompatible context 'http://s.ytimg.com/yt/swf/apiplayer3-vfl181412.swf' 

正如你所看到的,這些都是YouTube的域

所以我看了一下YouTube自己的跨域策略文件。事實證明,這些文件需要更新。閱讀以下內容: http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes_02.html#head1

這裏是s.ytimg.com

<cross-domain-policy> 
    <allow-access-from domain="*" /> 
</cross-domain-policy> 

的政策文件,該文件會引發以下警告

警告:域s.ytimg.com不指定元-政策。應用默認元策略「僅限母版」。此配置已棄用。請參閱http://www.adobe.com/go/strict_policy_files來解決此問題。

,這裏是它應該是什麼樣子

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

<cross-domain-policy> 
<site-control permitted-cross-domain-policies="master-only"/> 
<allow-access-from domain="*"/> 
</cross-domain-policy> 

這裏的另一個警告:

警告:域video-stats.video.google.com沒有明確指定元策略,但內容 - 政策文件http://video-stats.video.google.com/crossdomain.xml的類型是'text/x-cross-domain-policy'。應用元策略'by-content-type'。

它看起來像YouTube應該看看這個,所有這些警告和安全錯誤消息是相當煩人的。

實際上,看看錯誤,如果你的域名不出現在任何地方,你的crossdomain文件工作正常。

2

頁面沒有找到實際的XML - 404錯誤頁面 你正在尋找(http://mysite.com/crossdomain.xml)的頁面是不是在這裏。

確保您的Web服務器配置爲分配XML文件。默認情況下,IIS不會。步驟來啓用它可以在這裏找到:http://dannythorpe.com/2008/03/16/serving-rss-on-iis/

+0

我真正的網站是 http://popslinger.org/crossdomain.xml mysite.com只是一個例子.. – FlyingCat 2010-08-11 00:34:41

+0

我有godaddy作爲我的網絡服務器...他們使用linux我承擔.. – FlyingCat 2010-08-11 00:35:31

+1

好的,該文件現在加載我。它只是空的。請參閱Juan Pablo的回答。 – dthorpe 2010-08-11 00:37:14

2

如果這是您的實際的XML文件,它似乎被註釋掉。

刪除此:

<!-- 

這:

--> 

PS:好吧,該文件可以被加載並擁有內容。也許你的問題在別的地方?

該文件所做的是授予從任何youtube.com子域提供的任何swf,或者允許從popslinger.org加載數據的域s.ytimg.com。如果您的問題是由試圖訪問從您的域提供的數據的youtube提供的內容導致的,那麼這可能會有效。是這樣嗎?

+0

這不是評論...... – FlyingCat 2010-08-11 00:36:18

3

這不是跨域文件如何設計的。您在服務器上擁有跨域文件並不能讓Flash從YouTube檢索數據。此外,您是否檢索AS3 Chromeless播放器,以便您遵守服務條款或您是否在網址抓取以最終檢索mp4/flv?

+1

提問者應該閱讀這個。當站點A從站點B加載文件時,涉及的唯一跨域策略是站點B上的一個。 – fenomas 2010-08-12 16:52:18