2011-02-16 14 views
6

göndermez IE ve Chrome'da, swf nesneniz bir URL isterse (örneğin mp3 dosyası), istekte HTTP_REFERER iletir. HTTP_REFERER, swf nesnesinin url'si olacaktır.Firefox'ta Flash, HTTP REFERER değerini

Bu, Firefox'ta gerçekleşmez. HTTP_REQUEST her zaman boş.

Bu seçenek swf kodunda, flash'da hata mı yoksa tarayıcının sınırlaması mı? Ve bunun üstesinden gelmenin bir yolu var mı?

Şimdiden teşekkürler.

+0

Sanırım bir çözüm yok. Kullanıcıların mevcut sayfanın URL'sini –

+2

yerine ayrı bir parametreye eklediğini gördüm. Bu hata üç yıl boyunca bugzilla'da etkindi. :(https://bugzilla.mozilla.org/show_bug.cgi?id=410904 – Amalgovinus

+0

Bazı ana bilgisayarlarda hot link/sülük korumasını tamamen vidalıyor. – Unsigned

cevap

3

Aynı sorun burada, Bazı araştırmalardan sonra, @Amalgovinus tarafından daha önce belirtildiği gibi mozilladan 3 yaşında bir hata olduğu anlaşılmaktadır.

Bunun için bir çözüm, flaş içinde bir GET isteği yerine bir POST isteği gerçekleştirdik.

var url = "http://exemple.com/myNotHotlinkedSong.mp3"; 
var myRequest:URLRequest = new URLRequest (url); 
myRequest.method = URLRequestMethod.POST; 
// add some data to the request to force the use of POST inside flashPlayer 
myRequest.data = "fake=fake"; 

Biz şimdi mutluyuz: burada istek boyunca göndermek için hiçbir verileri varsa flaş otomatik bir GET için POST isteği değişecek gibi de bir sahte verileri geçmelidir bu işi yapmak için bir flaş kod örneği var FF'de bile hotlinking'i önlemek için .htaccess'i kullanabilmek için, başkalarının da bu yardımı bulacağını umarız.