当前位置: 首页 > 面试题库 >

使用php进行可靠的用户浏览器检测

壤驷子安
2023-03-14
问题内容

仅尝试使用PHP检测用户的浏览器,$_SERVER’HTTP_USER_AGENT’是一种可靠的方法吗?我应该改为选择get_browser函数吗?您发现哪一个带来更精确的结果?

如果此方法是实用的,不建议将其用于输出相关的CSS链接,例如:

if(stripos($_SERVER['HTTP_USER_AGENT'],"mozilla")!==false)
   echo '<link type="text/css" href="mozilla.css" />';

我注意到了这个问题,但是我想澄清一下这是否适合面向CSS的检测。

更新: 确实令人怀疑:我尝试echo $_SERVER['HTTP_USER_AGENT'];使用IE 7,这是它的输出:

Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media
Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618)

Safari也给它添加了“ mozilla”的怪异之处。是什么赋予了?


问题答案:

使用现有方法(即get_browser)可能比自己编写东西要好,因为它具有(更好)的支持,并且将使用较新的版本进行更新。可能还有可用的库,以可靠的方式获取浏览器ID。

解码是$_SERVER['HTTP_USER_AGENT']很困难的,因为许多浏览器都具有非常相似的数据,并且倾向于(滥用)它们以获取自己的利益。但是,如果您真的想对它们进行解码,则可以将本页上的信息用于所有可用的代理ID。此页面还显示您的示例输出确实属于IE7。有关代理ID本身的字段的更多信息,可以在此页面上找到,但是正如我所说的,浏览器已经倾向于将其用于自身利益,并且可能在(略)其他格式。



 类似资料:
  • 我是新加入这个董事会的,但我已经读过你很多年了。:) 我正试着学编码,但我还在第一步。然而,我将使用一个脚本来检测用户的浏览器。 这适用于所有主要的浏览器(我在chrome、firefox和IE上试用过),但它不适用Edge。我该怎么修好它?谢谢!

  • 问题内容: 如何检测用户是否没有使用JavaScript或PHP使用任何浏览器Chrome,Firefox或Internet Explorer? 问题答案: 我发现在JS中执行此操作的最佳方法是在Quirksmode上。我为PHP制作了一个应与常见浏览器一起使用的PHP:

  • 如何通过使用$_server['http_user_agent']检测用户使用的是iPhone、Android还是浏览器;在PHP中。如果用户使用的是桌面,它应该打印桌面如果用户使用的是iphone打印iphone如果用户使用的是android打印android

  • 问题内容: 我需要一种在服务器端检测移动浏览器的方法。我想要一种方法,几乎​​不需要做任何设置,也不需要维护,但仍然可以(至少非常准确地)为我提供对Android,Mobile Safari和Blackberry浏览器以及Opera之类的浏览器的准确检测。 我希望至少 涵盖整个移动市场 ,并且如果花费不多,我实际上会更喜欢几乎所有的市场。 问题答案: WURLF是移动浏览器检测的最终方法,并且提供

  • 问题内容: 我是angularjs的新手。如何在angularjs中检测到userAgent。可以在控制器中使用它吗?尝试了以下类似的方法,但是没有运气! 我需要专门检测IE9! 问题答案: 就像Eliran Malka询问的那样,为什么需要检查IE 9? 检测浏览器的品牌和版本通常是一种难闻的气味。通常,这意味着如果您需要JavaScript来检测特定版本的浏览器,则代码会有更大的问题。 在某些

  • 我是新的angularjs。我怎么能检测用户代理在angularjs。有可能在控制器中使用它吗?尝试了下面这样的东西,但没有运气! 我需要专门检测IE9!