Как проверить операционную систему зрителя сайта?
Я использую Ubuntu 8.04, и недавно я получил следующую ошибку при посещении веб-сайта:
Вернитесь на сайт www.site.com с компьютером под управлением Windows 98, 2000, Me, NT или XP.
Как веб-сайт узнает, какую ОС я использую? Это только через javascript или в заголовках запросов есть информация об ОС?
Могу ли я обойти эту проверку или "притвориться", что использую Windows, чтобы я мог получить доступ к веб-сайту, даже если у меня запущена неподдерживаемая ОС?
7 ответов
Дополнение Firefox User Agent Switcher позволяет "подделывать" другой веб-браузер.
Могу ли я имитировать другой браузер / платформу?
Есть много способов подменить строки агента пользователя. В Firefox есть расширение, называемое "User Agent Switcher", которое позволяет имитировать другие браузеры.
https://addons.mozilla.org/en-US/firefox/addon/59
Агенты пользователей
Проверка пользовательского агента часто может сказать вам это. Например, мой пользовательский агент:
Mozilla / 5.0 (Windows; U; Windows NT 6.0; ru-ru) 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...
Настройки PHP
Вы можете получить user-agent в PHP из массива $_SERVER:
print $_SERVER["HTTP_USER_AGENT"]; // Mozilla/5.0 (Windows; U; Windows NT...
У PHP также есть и другие полезности, такие как get_browser()
* функция в PHP, которая возвращает массив информации, включая platform
:
Array
(
...
[parent] => Firefox 0.9
[platform] => WinXP
[browser] => Firefox
[version] => 0.9
...
)
* get_browser()
опирается на browscap.ini - Смотрите
http://www.php.net...php#ini.browscap для получения дополнительной информации.
Как веб-сайт узнает, какую ОС я использую? Это только через javascript или в заголовках запросов есть информация об ОС?
Эта информация идет в User-Agent
Заголовок HTTP каждый раз, когда вы делаете запрос на любой сервер.
Могу ли я обойти эту проверку или "притвориться", что использую Windows, чтобы я мог получить доступ к веб-сайту, даже если у меня запущена неподдерживаемая ОС?
Проверьте эту ссылку для получения дополнительной информации в User-Agent
подделка с использованием firefox.
Вы можете использовать navigator.platform в JavaScript:
var OS = navigator.platform;
alert(OS);
Таким образом, вам не нужно беспокоиться о парсинге пользовательского агента.
Вот полный код. Он может помочь кому-то, он определяет, какую версию ОС использует пользователь и версию, но в таких версиях, как 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;
}
Сценарий на стороне сервера представит веб-браузеру информацию, которая указывает тип и версию браузера пользователя, а также операционную систему. Например, в PHP у вас есть get_browser()
Браузер Opera имеет функцию Spoof и может выступать в качестве другого типа браузера, чтобы избежать блокировки браузера.