I'm running Ubuntu 8.04 and I recently received the following error when visiting a website:
Please return to www.site.com with a computer running Windows 98, 2000, Me, NT, or XP.
How does the website know which OS I'm running? Is it only via javascript or is there OS information in the request headers as well?
Is there a way for me to bypass this check or "pretend" to be using Windows so that I can access the website even though I'm running an unsupported OS?
There are many ways to spoof user agent strings. In firefox, there happens to be an extension called "User Agent Switcher," which allows you to imitate other browsers.
https://addons.mozilla.org/en-US/firefox/addon/59
Checking the user-agent often times can tell you this. For instance, my user-agent is:
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
Which platform am I on?
You can also use the navigator
object in Javascript to get some information too. For instance:
alert(navigator.platform); // alerts Win32
alert(navigator.userAgent); // Mozilla/5.0 (Windows; U; Windows NT 6.0...
You can get the user-agent in PHP from the $_SERVER array:
print $_SERVER["HTTP_USER_AGENT"]; // Mozilla/5.0 (Windows; U; Windows NT...
PHP also has further goodies, such as the get_browser()
* function in PHP which returns an array of information, including the platform
:
Array
(
...
[parent] => Firefox 0.9
[platform] => WinXP
[browser] => Firefox
[version] => 0.9
...
)
* get_browser()
relies upon browscap.ini - See
http://www.php.net...php#ini.browscap for more information.