views:

80

answers:

2

Hi,

I our web application is compatible with Firefox 3.6+

We have a Firefox installed on one of our local machiens and on the top of the about page, the version is set to 3.6.10 which is what we expect.

On the bottom of the about page, the version is set to: Gecko/20100914 Firefox/3.0.1

Because it's set to 3.0.1 it gets picked up by client side script and the user is unable to use the application. Currently I'm unable to replicate this.

Our guess is that user didn't install 3.6.10 from scratch, but updated from 3.0.1

Did anybody else come across this before?

Thank you

Edit: The Gecko version is "Gecko 1.9.2" which comes with Firefox 3.6...so that's also fine.... very confused

Edit 2: IIS LOG Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+ru;+rv:1.9.2.10)+Gecko/20100914+Firefox/3.0.1+(+.NET+CLR+3.5.30729;+.NET4.0C) 200 0 0

I can see the 3.0.1 but I don't understand why About page displays a browser version as 3.6.10

Also if you look at the GECKO version from IIS log, it's 1.9.2 which is supplied with Firefox 3.6.*

Edit 3: The problem was in a FireFox .config file which has been manually edited/spoofed

+1  A: 

There are at least 2 ways of checking browser version.

One is to use User-Agent header from HTTP request:

GET /index.html HTTP/1.1
Host: localhost:8765
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 ( .NET CLR 3.5.30729; .NET4.0E)
...

But such request can be changed by some proxy, or by user (this way Opera can easily imitate MS IE etc).

Other way is to use JavaScript navigator properties. It is described in: Using the navigator object to detect client's browser.

I don't know which way was used to detect browser version. If it was from HTTP header then it is easy to change -- you probably have to change browser version detection to JavaScript. If JavaScript failed then probably this install of browser was broken.

You can check HTTP headers on the server side (Apache is often configured to show this in logs) or via tunnel like tcpmon. For JavaScript use the code from JavaScript Kit page.

Michał Niklas
Detecting the version isn't a problem. What I don't understand is how can one browser display two different versions. Please see the edit for IIS log
vikp
So what is your `User-Agent` in HTTP header and in `navigator.userAgent`? Do they differ?
Michał Niklas
I'm limited in what I can ask of user. The only thing I currently have is IIS log which is posted in Edit2. I also can't replicate this on any other machine.
vikp
You can also check `general.useragent.extra.firefox` in `about:config` window and check `Version` in `[App]` section of `application.ini` file.
Michał Niklas
+1  A: 

I strongly suspect your client has a modified user agent string. You can reset it by following these instructions.

sdwilsh
That was the problem indeed, found it same day, forgot to reply on here. How frustrating. Still don't know how did it get modified.
vikp