2011-04-26 22 views
2

我感覺好像我的頭撞在這個牆上。我試過(我認爲)跨域xml文件的每個變體都沒有成功。無論我嘗試什麼,我似乎都無法使我的跨域Loader()請求正常工作。這裏是我的policyfiles.txt日誌文件Flash 10中的cross-domain.xml文件出現問題

OK: Root-level SWF loaded: http://cool.com:81/WEBPLAYERAS3.swf 
OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/9175218823c9438aa322cdb767561dbd.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf 
OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/a61d36278cc44cd1a0b8fa10f3edc914.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf 
OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/ba8d7a1701954a6cb03e7aaf12a26a2b.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf 
OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/91f6f184518247f0916692286dd7101a.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf 
OK: Policy file accepted: https://replayservice2.secretdomain.com/crossdomain.xml 
Error: Request for resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/9175218823c9438aa322cdb767561dbd.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf is denied due to lack of policy file permissions. 
Error: Request for resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/a61d36278cc44cd1a0b8fa10f3edc914.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf is denied due to lack of policy file permissions. 
Error: Request for resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/ba8d7a1701954a6cb03e7aaf12a26a2b.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf is denied due to lack of policy file permissions. 
Error: Request for resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/91f6f184518247f0916692286dd7101a.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf is denied due to lack of policy file permissions. 
OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/9175218823c9438aa322cdb767561dbd.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf 
Error: Request for resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/9175218823c9438aa322cdb767561dbd.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf is denied due to lack of policy file permissions. 
OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/9175218823c9438aa322cdb767561dbd.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf 
Error: Request for resource at https://replayservice2.secretdomain.com/api/servlet/screenshot/0.8/1.0/9175218823c9438aa322cdb767561dbd.jpg by requestor from http://cool.com:81/WEBPLAYERAS3.swf is denied due to lack of policy file permissions. 

這裏的輸出是我crossdomain.xml文件:

<cross-domain-policy xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd"> 
<allow-access-from domain="*" secure="true"/> 
<site-control permitted-cross-domain-policies="master-only"/> 
</cross-domain-policy> 

注意實際的域名已被替換secretdomain.com。

我所做的就是檢索AS3中的圖像並將它們分配給位圖。

UPDATE

這個問題似乎只從一個不安全的服務器調用我們的安全服務器時發生。這是被禁止的,還是有解決方法?

+0

我還要提到的是我的crossdomain.xml文件位於:https://replayservice2.secretdomain.com/crossdomain.xml – whitehawk 2011-04-26 01:40:08

回答

1

如果有幫助,我已經包含了我們的跨域策略。我們唯一不同的地方就是站點控制標籤。

<cross-domain-policy xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd"> 
    <site-control permitted-cross-domain-policies="all"/> 
    <allow-http-request-headers-from domain="*"/> 
    <allow-access-from domain="*" secure="false" to-ports="*"/> 
</cross-domain-policy> 
0

我在你張貼

OK: Root-level SWF loaded: http://cool.com:81/WEBPLAYERAS3.swf 

這告訴我的東西,看你的SWF文件被加載在端口81
你祭出了什麼端口上的跨域? 這對你在每個使用的端口上都有一個非常重要。

+0

那麼調用OUT的swf位於端口81上,但我們呼叫的服務器位於端口80. – whitehawk 2011-04-28 22:27:28

+0

那麼您需要在端口80上的服務器根目錄上的crossdomain文件 – 2011-04-28 22:40:36

+0

http://secretdomain.com :80/crossdomain.xml – 2011-04-28 23:06:00

2

如果ü嘗試從HTTP通訊端口,HTTPS端口,你會得到「SWF被拒絕由於缺乏政策文件權限」避免這類錯誤,您可以在crossdomain.xml的

以下標記
 < allow-access-from domain="*" secure="false" to-ports="*" >

這解決了「安全沙箱衝突」

在情況下,如果你得到一個警告味精「未指定元策略。應用默認元策略‘主單獨’。」發生的crossdomain.xml以下標記

 < site-control permitted-cross-domain-policies="all" >
3

您的更新存在的答案,你的整個問題:
「問題似乎只從一個不安全的服務器調用我們的安全服務器時發生這只是禁止,或者有沒有辦法解決這個問題?「

尤其是當我們看你的政策文件的重要組成部分:

<allow-access-from domain="*" secure="true"/> 

這是安全=真'的一部分意味着你很明確不準叫混合正賽擔保和無擔保的連接,他們必須都是安全的。通過在那裏擁有「真正的」價值,你就是禁止它的人。當然,它的方法是將其設置爲'secure = False',如同在此處發佈的其他幾個策略文件中一樣。

0

除了在'allow-access-from'標籤中設置secure =「false」,還在'allow-http-request-headers-from'標籤中設置secure =「false」。你的crossdomain.xml應該像這個 -

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