Javascript 如何查看网站查看器';谁的操作系统?

Javascript 如何查看网站查看器';谁的操作系统?,javascript,operating-system,os-detection,Javascript,Operating System,Os Detection,我正在运行Ubuntu 8.04,最近访问网站时收到以下错误: 请使用运行Windows 98、2000、Me、NT或XP的计算机返回www.site.com 网站如何知道我在运行哪个操作系统?它仅仅是通过javascript实现的,还是请求头中也有操作系统信息 有没有办法让我绕过这个检查,或者“假装”使用Windows,这样即使我运行的是不受支持的操作系统,我也可以访问该网站 我可以模仿其他浏览器/平台吗? 欺骗用户代理字符串的方法有很多。在firefox中,碰巧有一个名为“用户代理切换器”的

我正在运行Ubuntu 8.04,最近访问网站时收到以下错误:

请使用运行Windows 98、2000、Me、NT或XP的计算机返回www.site.com

  • 网站如何知道我在运行哪个操作系统?它仅仅是通过javascript实现的,还是请求头中也有操作系统信息

  • 有没有办法让我绕过这个检查,或者“假装”使用Windows,这样即使我运行的是不受支持的操作系统,我也可以访问该网站

  • 我可以模仿其他浏览器/平台吗? 欺骗用户代理字符串的方法有很多。在firefox中,碰巧有一个名为“用户代理切换器”的扩展,它允许您模仿其他浏览器

    用户代理 经常检查用户代理可以告诉您这一点。例如,我的用户代理是:

    Mozilla/5.0(Windows;U;Windows NT 6.0;en-US)AppleWebKit/532.0(KHTML,类似Gecko)Chrome/3.0.195.38 Safari/532.0

    我在哪个站台

    Javascript选项 您还可以使用Javascript中的
    navigator
    对象来获取一些信息。例如:

    alert(navigator.platform);  // alerts Win32
    alert(navigator.userAgent); // Mozilla/5.0 (Windows; U; Windows NT 6.0...
    
    PHP选项 您可以从$\u服务器阵列获取PHP中的用户代理:

    print $_SERVER["HTTP_USER_AGENT"]; // Mozilla/5.0 (Windows; U; Windows NT...
    
    PHP还有更多的优点,例如PHP中的*函数返回一系列信息,包括
    平台

    Array
    (
        ...
        [parent] => Firefox 0.9
        [platform] => WinXP
        [browser] => Firefox
        [version] => 0.9
        ...
    )
    


    *
    get_browser()
    依赖于browscap.ini-有关详细信息,请参见

    可能是从用户代理字符串猜测

    网站如何知道我在运行哪个操作系统?它仅仅是通过javascript实现的,还是请求头中也有操作系统信息

    每次您向任何服务器发出请求时,该信息都会出现在用户代理中

    有没有办法让我绕过这个检查,或者“假装”使用Windows,这样即使我运行的是不受支持的操作系统,我也可以访问该网站

    用户代理
    使用firefox欺骗中查看更多信息。

    您可以在JavaScript中使用:

    var OS = navigator.platform;
    alert(OS);
    

    这样,您就不必担心解析用户代理。

    firefox插件可以“欺骗”不同的web浏览器。

    服务器端脚本将向web浏览器显示信息,指示用户的浏览器类型和版本以及操作系统。例如,在PHP中


    Opera浏览器有一个欺骗功能,可以将自己呈现为另一种浏览器类型,以避免浏览器阻塞。

    以下是完整代码。它可以检测用户使用的操作系统和版本,但在Windows7 home/professional/ultimate等版本中,它并没有深入到那么深的程度,这一点要复杂得多

    //OS DETECTION... 
    function find_os(){ 
    var OSVer=""; 
    if (navigator.userAgent.indexOf("Mac OS X 10.4")!=-1) OSVer="MacOS Tiger"; 
    if (navigator.userAgent.indexOf("Mac OS X 10.5")!=-1) OSVer="MacOS Leopard"; 
    if (navigator.userAgent.indexOf("Mac OS X 10.6")!=-1) OSVer="MacOS Snow Leopard"; 
    if (navigator.userAgent.indexOf("NT 5.1")!=-1) OSVer="Windows XP"; 
    if (navigator.userAgent.indexOf("NT 6.0")!=-1) OSVer="Windows Vista"; 
    if (navigator.userAgent.indexOf("NT 6.1")!=-1) OSVer="Windows 7"; 
    if (navigator.userAgent.indexOf("Linux")!=-1) OSVer="Linux"; 
    if (navigator.userAgent.indexOf("X11")!=-1) OSVer="UNIX"; 
    
    returh OSVer; 
    }