2011-02-16 16 views
6

W IE i Chrome, jeśli Twój obiekt swf zażąda adresu URL (na przykład pliku mp3), przekaże także HTTP_REFERER w żądaniu. HTTP_REFERER będzie adresem URL obiektu swf.Flash w przeglądarce Firefox nie wysyła wartości Referencji HTTP

To nie dzieje się w przeglądarce Firefox. HTTP_REQUEST jest zawsze pusty.

Czy jest to opcja w kodzie SWF, błąd w pamięci flash lub ograniczenie przeglądarki? I czy jest jakiś sposób na pokonanie tego?

Z góry dziękuję.

+0

Myślę, że nie ma obejścia. Widziałem ludzi dodających adres URL bieżącej strony do osobnego parametru zamiast tego. –

+2

Ten błąd był aktywny na bugzilli przez trzy lata. :(https://bugzilla.mozilla.org/show_bug.cgi?id=410904 – Amalgovinus

+0

Całkowicie wkręca ochronę hot-link/leech na niektórych hostach. – Unsigned

Odpowiedz

3

Ten sam problem tutaj, Po pewnym badaniu wydaje się, że jest to 3-letni błąd z mozilli, jak stwierdził wcześniej @Amalgovinus.

Znaleźliśmy rozwiązanie, aby wykonać to żądanie POST zamiast żądania GET wewnątrz lampy błyskowej. Należy również zdać sfałszowane dane, lampa błyskowa zostanie automatycznie zmienić swoje żądanie POST na GET jeśli nie ma dane teleadresowe wysłać wraz wniosek Oto przykładowy kod Flash do tej pracy:

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"; 

teraz jesteśmy szczęśliwi aby móc korzystać z naszego .htaccess, aby uniknąć hotlinków nawet w FF, miej nadzieję, że inni znajdą to pomocne.