如何识别Flash与JavaScript客户端发出的请求?

时间:2017-04-05 10:55:09

标签: javascript http flash http-headers xmlhttprequest

在服务器上,是否可以识别浏览器中运行的Flash客户端发出的请求与常规XMLHttpRequest发出的请求?

我注意到使用闪存发出的请求有这个标题:

X-Requested-With:ShockwaveFlash/25.0.0.127

这是标准标题,或者这是不同浏览器\ flash版本的行为?

1 个答案:

答案 0 :(得分:1)

您可以使用HTTP标头Referer来检查请求是由Flash还是JavaScript生成的。如果Flash发出请求,则Referer将是.swf对象的URL。因此,如果Referer网址包含.swf资源,则该请求必须来自Flash。

根据ActionScript 3.0 documentReferer是受限制的标头,无法由最终用户定义。在JavaScript方面,除非被JS程序员攻击,否则很难看到Referer.../xxx.swf的HTTP请求。

对于X-Requested-With,它不是标准的HTTP标头,也不可信任。即使在URLRequest API中,X-Requested-With也不受限制且可由最终用户定义,请参阅doc

相关问题