2011-02-16 15 views
6

En IE y Chrome, si su objeto swf solicita una url (archivo mp3, por ejemplo), también pasará el HTTP_REFERER en la solicitud. HTTP_REFERER será la url del objeto swf.Flash en Firefox no envía el valor HTTP REFERER

Esto no ocurre en Firefox. HTTP_REQUEST siempre está vacío.

¿Hay alguna opción en el código swf, error en flash o limitación del navegador? ¿Y hay una manera de superar esto?

Gracias de antemano.

+0

Creo que no hay solución. He visto personas añadiendo la URL de la página actual a un parámetro separado en su lugar –

+2

Este error ha estado activo en bugzilla durante tres años. :(https://bugzilla.mozilla.org/show_bug.cgi?id=410904 – Amalgovinus

+0

Completamente arruina la protección de enlace activo/sanguijuela en algunos hosts. Eso realmente debería investigarse. – Unsigned

Respuesta

3

El mismo problema aquí, Después de algunas investigaciones, parece ser un error de 3 años de mozilla, como se dijo anteriormente por @Amalgovinus.

Encontramos una solución para esto realizar una solicitud POST en lugar de una solicitud GET dentro del flash. También debe pasar a un conjunto de datos falsos como flash automaticamente cambiar su solicitud POST a un GET si no hay datas más para enviar a lo largo de la solicitud aquí es un ejemplo de código flash para hacer este trabajo:

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

Ahora estamos felices para poder utilizar nuestro .htaccess para evitar hotlinks incluso en FF, esperamos que a otros les resulte útil.

Cuestiones relacionadas