我正在运行 Ubuntu 8.04,最近在访问网站时收到以下错误:
请使用运行 Windows 98、2000、Me、NT 或 XP 的计算机返回 www.site.com。
网站如何知道我正在运行哪个操作系统?是仅通过 javascript 还是请求标头中也有操作系统信息?
有没有办法让我绕过此检查或“假装”使用 Windows,以便即使我运行的是不受支持的操作系统也可以访问该网站?
我正在运行 Ubuntu 8.04,最近在访问网站时收到以下错误:
请使用运行 Windows 98、2000、Me、NT 或 XP 的计算机返回 www.site.com。
网站如何知道我正在运行哪个操作系统?是仅通过 javascript 还是请求标头中也有操作系统信息?
有没有办法让我绕过此检查或“假装”使用 Windows,以便即使我运行的是不受支持的操作系统也可以访问该网站?
有很多方法可以欺骗用户代理字符串。在 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, like Gecko) Chrome/3.0.195.38 Safari/532.0
我在哪个平台?
您也可以使用navigator
Javascript 中的对象来获取一些信息。例如:
alert(navigator.platform); // alerts Win32
alert(navigator.userAgent); // Mozilla/5.0 (Windows; U; Windows NT 6.0...
您可以从 $_SERVER 数组中获取 PHP 中的用户代理:
print $_SERVER["HTTP_USER_AGENT"]; // Mozilla/5.0 (Windows; U; Windows NT...
PHP 还有其他好东西,例如 PHP 中的*函数,它返回一个信息数组,包括:get_browser()
platform
Array
(
...
[parent] => Firefox 0.9
[platform] => WinXP
[browser] => Firefox
[version] => 0.9
...
)
*get_browser()
依赖于 browscap.ini - 有关更多信息,请参见
http://www.php.net...php#ini.browscap。
服务器端脚本将向网络浏览器显示信息,指示用户的浏览器类型和版本以及操作系统。例如,在 PHP 中有get_browser()
Opera 浏览器具有欺骗功能,可以将自己呈现为另一种浏览器类型,以避免浏览器阻塞。
它可能是从 User-Agent 字符串中猜测的。
这是完整的代码。可能会对某人有所帮助,它会检测到哪个操作系统用户正在使用和版本,但它在 Window 7 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;
}
用户代理切换器firefox插件可以“欺骗”不同的 Web 浏览器。