什么是用户代理检测
用户代理检测通过检测用户代理字符串来确定实际使用的浏览器。
在每一次 HTTP请求过程中,用户代理字符串是作为响应首部发送的, 而且该字符串可以通过 JavaScript的 navigator.userAgent 属性访问。在服务器端,通过检测用户代理字符串来确定用户使用的浏览器是一种常用而且广为接受的做法。而在客户端,用户代理检测一般被当作一种万不得已才用的做法,其优先级排在能力检测和(或)怪癖检测之后。
什么是电子欺骗
所谓电子欺骗,就是指浏览器通过在自己的用户代理字符串加入一些错误或误导性信息,来达到欺骗服务器的目的。
用户代理字符串检测技术
用户代理检测一般适用于下列情形:
- 不能直接准确地使用能力检测或怪癖检测。例如,某些浏览器实现了为将来功能预留的存根 (stub)函数。在这种情况下,仅测试相应的函数是否存在还得不到足够的信息。
- 同一款浏览器在不同平台下具备不同的能力。这时候,可能就有必要确定浏览器位于哪个平台下。