在IE和Chrome中,如果你的swf对象请求一个url(例如mp3文件),它也会在请求中传递HTTP_REFERER。 HTTP_REFERER将是swf对象的URL。
在Firefox中不会发生这种情况。 HTTP_REQUEST始终为空。
这是swf代码中的一些选项,flash中的错误还是浏览器的限制? 有没有办法克服这个问题?
提前致谢。
答案 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中的热链接,希望其他人会发现这有用。