Firefox中的Flash不会发送HTTP REFERER值

时间:2011-02-16 08:58:20

标签: flash http firefox hotlinking

在IE和Chrome中,如果你的swf对象请求一个url(例如mp3文件),它也会在请求中传递HTTP_REFERER。 HTTP_REFERER将是swf对象的URL。

在Firefox中不会发生这种情况。 HTTP_REQUEST始终为空。

这是swf代码中的一些选项,flash中的错误还是浏览器的限制? 有没有办法克服这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:3)

这里的问题相同, 经过一些研究后,似乎是@Amalgovinus之前提到的来自mozilla的一个3岁的虫子。

我们找到了一个解决方案,在Flash中执行POST请求而不是GET请求。 您还必须传递伪造的数据,因为如果没有数据可以在请求中发送,闪存将自动将您的POST请求更改为GET,这是一个闪存代码示例,以使其工作:

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

我们现在很高兴能够使用我们的.htaccess来避免即使在FF中的热链接,希望其他人会发现这有用。