如何查看网站查看器的操作系统?

MCS*_*MCS 5 javascript operating-system os-detection

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

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

  1. 网站如何知道我正在运行哪个操作系统?是仅通过javascript还是请求标头中还有操作系统信息?

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

Sam*_*son 8

我可以模仿另一个浏览器/平台吗?

欺骗用户代理字符串有很多种方法.在firefox中,恰好有一个名为"User Agent Switcher"的扩展,它允许您模仿其他浏览器.

https://addons.mozilla.org/en-US/firefox/addon/59

用户代理

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

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选项

您也可以navigator在Javascript中使用该对象来获取一些信息.例如:

alert(navigator.platform);  // alerts Win32
alert(navigator.userAgent); // Mozilla/5.0 (Windows; U; Windows NT 6.0...
Run Code Online (Sandbox Code Playgroud)

PHP选项

您可以从$ _SERVER数组中获取PHP中的用户代理:

print $_SERVER["HTTP_USER_AGENT"]; // Mozilla/5.0 (Windows; U; Windows NT...
Run Code Online (Sandbox Code Playgroud)

PHP还有其他好东西,例如PHP中的*函数,它返回一组信息,包括:get_browser()platform

Array
(
    ...
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    ...
)
Run Code Online (Sandbox Code Playgroud)

*get_browser()依赖于browscap.ini - 有关详细信息,请参阅
http://www.php.net...php#ini.browscap.


Pab*_*dez 5

网站如何知道我正在运行哪个操作系统?是仅通过javascript还是请求标头中还有操作系统信息?

每次向任何服务器发出请求时,该信息都会出现在User-Agent HTTP标头中.

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

有关使用firefox 进行欺骗的更多信息,请查看此链接User-Agent.


MCS*_*MCS 0

用户代理切换器firefox 插件可以“欺骗”不同的 Web 浏览器。