【问题标题】:get exact os detail using codeigniter useragents使用 codeigniter 用户代理获取准确的操作系统详细信息
【发布时间】:2016-03-31 06:39:40
【问题描述】:

我想获取哪个操作系统用户登录的确切信息,我正在使用 codeigniter useragent 库

$this->load->library('user_agent');
echo $this->agent->platform(); die;

但是当我使用窗口登录时它显示未知的 Windows 操作系统是否有任何其他方法可以获取确切的操作系统

【问题讨论】:

  • 客户端环境检测不可靠,经常导致错误假设或信息缺失。这是因为它基于不安全的信息。不安全,因为它完全由客户端控制,因此可以随意过滤或操纵。

标签: php codeigniter operating-system user-agent


【解决方案1】:

请尝试使用此功能,

echo php_uname();
echo PHP_OS;

因为codeigniter是用php写的,所以可以,你也可以参考这里的php文档http://php.net/manual/en/function.php-uname.php

希望这会有所帮助

【讨论】:

  • 它将提供服务器操作系统信息而不是客户端机器?
【解决方案2】:

您可以使用$_SERVER['HTTP_USER_AGENT'] 获取PHP 中的客户端代理,User_AgentHTTP REQUEST HEAD 中的一个信息,因此每个访问您服务器的客户端都会将此信息发送到您的服务器,但它不可靠并且可以伪造.

【讨论】:

    【解决方案3】:

    $this->load->library('user_agent');

    if ($this->agent->is_browser()){

    $agent = $this->agent->browser().' '.$this->agent->version();
    

    } elseif ($this->agent->is_robot()){

    $agent = $this->agent->robot();
    

    } elseif ($this->agent->is_mobile()){

    $agent = $this->agent->mobile();
    

    } 其他{

    $agent = 'Unidentified User Agent';
    

    }

    回声 $agent;

    echo $this->agent->platform();

    【讨论】:

    • 虽然这个代码块可能会回答这个问题,但最好能对它为什么这样做提供一点解释。另请参阅Formatting Help
    猜你喜欢
    • 2014-07-24
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2012-03-19
    • 2018-09-24
    • 2015-11-07
    • 2010-11-27
    相关资源
    最近更新 更多