2012-08-06 39 views
0

當一個站點具有以下crossdomain.xml配置時。以下含義是什麼?這個crossdomain.xml暗示了什麼?

其次,如果站點A(HTTP)承載了Flash上​​傳腳本上傳到S3,這是crossdomain.xml文件安全地對S3的根目錄?

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <!-- 
    Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html 
    --> 

    <!-- Most restrictive policy: 
    <site-control permitted-cross-domain-policies="none"/> 
    --> 

    <!-- Least restrictive policy: --> 
    <site-control permitted-cross-domain-policies="all"/> 
    <allow-access-from domain="*" to-ports="*" secure="false"/> 
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/> 

    <!-- 
    If you host a crossdomain.xml file with allow-access-from domain="*"  
    and don’t understand all of the points described here, you probably  
    have a nasty security vulnerability. ~ simon willison 
    --> 
</cross-domain-policy> 

回答

1

這是最寬容的變化,可能是由主機,而不是網站的所有者給出。這是因爲允許的跨域策略節點,如果它是您自己的站點,而您沒有託管其他人的站點,則您希望將規則限制爲只有這一個文件。

的允許存取從允許從HTTPS加載撥打電話到該域的內容通過HTTP,反之亦然。這是在你自己的網站,你可能不會允許,但誰知道,有時廣告需要這樣做。我不認爲在這個上下文中to-ports屬性是有效的,因爲這個文件只能通過HTTP(S)訪問,通常在公共服務器上監聽端口80/443。

的允許-HTTP請求報頭,從似乎是多餘的,但我不知道,這些政策在過去發生了很大變化......我不知道已經被默認限制任何頭,但可能從Flash發送,否則。如果有的話,你會在客戶端發現更嚴重的限制。

重新」您的其他問題,嗯,很明顯,我想將其限制爲只有站點A,並非所有的網站。我還會聲明這個跨域是一個主人(而不是允許子跨域)。我可能會完全刪除allow-http-request-headers-以及to-ports屬性。如果您認爲在通過HTTPS加載SWF時可能會遇到問題,但會嘗試使用HTTP進行上載,然後保留安全屬性,否則將其刪除或設置爲true。

不僅如此......這是一個「獎金」。在與Flash HTTP進行了大量的交流之後,我得出結論,如果你有時間和必要的設施,比如你可以添加服務器模塊,或者你可能會影響你的服務器的功能。例如。有一個Apache模塊可以讓它服務套接字跨域策略。最好使用Socket類來實現所需的HTTP部分,而不是使用半個Adobe實現。

整個跨域業務可能會給你安全的一些虛假的感覺,而它實際上是安全默默無聞。由於它非常不方便,再加上Flash自己缺乏HTTP的實現,你可能會跑到一個地方,在那裏你不得不做比重新創建HTTP更糟糕的事情:)。你會記得,一旦你將需要響應頭例如...;)

+0

作爲最寬鬆的,什麼可能發生壽有此crossdomain.xml文件的S3桶最差?由於這些配置,用戶是否可以操縱此S3存儲桶中的現有文件(即刪除,覆蓋)? – 2012-08-06 08:50:31

+0

當我說「用戶」時,我的意思是「未經授權的用戶」 – 2012-08-06 08:56:19