Geo*_*dis 6 flash firefox http hotlinking
在IE和Chrome中,如果你的swf对象请求一个url(例如mp3文件),它也会在请求中传递HTTP_REFERER.HTTP_REFERER将是swf对象的url.
这在Firefox中不会发生.HTTP_REQUEST始终为空.
这是swf代码中的一些选项,flash中的错误还是浏览器的限制?有没有办法克服这个问题?
提前致谢.
同样的问题,经过一番研究,这似乎是 mozilla 的一个 3 年前的错误,正如@Amalgovinus 之前所说的那样。
我们找到了一个解决方案,可以在闪存内执行 POST 请求而不是 GET 请求。您还必须传递伪造的数据,因为如果没有要随请求发送的数据,Flash 会自动将您的 POST 请求更改为 GET,这里有一个 Flash 代码示例来实现此操作:
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";
Run Code Online (Sandbox Code Playgroud)
我们现在很高兴能够使用 .htaccess 来避免热链接,即使在 FF 中也是如此,希望其他人会发现这很有帮助。