【问题标题】:Determine client OS in PHP在 PHP 中确定客户端操作系统
【发布时间】:2010-02-17 11:28:05
【问题描述】:

我的 index.php 中有两个页面重定向。这些页面是example_system_os.phpexample_mobile_os.php

PHP中如何判断用户的操作系统?

【问题讨论】:

  • 可能是一个有用的信息 - 您可以根据 JavaScript 的执行方式测试使用的浏览器。由于不同操作系统上的浏览器版本存在细微差异,这种方法适用于操作系统的可能性很小。

标签: php


【解决方案1】:

get_browser 函数可用于提取浏览器发送的User-Agent HTTP 标头中的一些信息。

在这些信息中,似乎有一些关于运行浏览器的操作系统的数据——即关于客户端操作系统的数据。


引用get_browser手册页上给出的示例:

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9


但请注意,User-Agent HTTP 标头是客户端发送的,这意味着:

  • 可以禁用
  • 它可以伪造(即你可以在里面得到任何类型的垃圾^^)

【讨论】:

  • 我运行这个获取浏览器功能,我发现一个数组是移动设备,但在我的系统中它只是显示空数组...
  • i 在我的移动设备中显示 1 我应该使用,就像当这个数组是一个然后将页面重定向到 example_mobile_os.php
【解决方案2】:

您可以解析 $_SERVER['HTTP_USER_AGENT'] 字符串以获取各种平台详细信息,但我不相信这是一种确定性方法,因为它很容易被伪造。

【讨论】:

  • 或不存在,例如通过 CLI 访问时
猜你喜欢
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
  • 2013-10-11
  • 2016-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多