Javascript 如何查看网站查看器';谁的操作系统?
我正在运行Ubuntu 8.04,最近访问网站时收到以下错误: 请使用运行Windows 98、2000、Me、NT或XP的计算机返回www.site.comJavascript 如何查看网站查看器';谁的操作系统?,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中,碰巧有一个名为“用户代理切换器”的
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;
}