Closed Bug 242308 Opened 21 years ago Closed 15 years ago

fidelity.com - bad browser sniffing (checks for Win/Mac, breaks with Linux)

Categories

(Tech Evangelism Graveyard :: English US, defect)

All
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: arromdee2, Unassigned)

References

()

Details

(Whiteboard: [havecontact])

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7b) Gecko/20040421 Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7b) Gecko/20040421 Pages on fidelity.com only support IE and Netscape and will not work on Mozilla because of a browser detection Javascript routine. Reproducible: Always Steps to Reproduce: 1. Go to http://personal.fidelity.com/research/funds/ 2. Click "browse Fidelity funds" 3. Click on a fund category 4. Click on a fund name. 5. Get directed to a page telling you the browser isn't supported. If you view the source of this page, you can see the javascript code that checks the browser. Technically, it does what they claim, since they only claim to support Windows browsers and don't say that they support Mozilla. However, since they do seem willing to support Netscape 7, I would guess that they would be amenable to putting Gecko in there too. But they'll need to be told by someone who they're willing to listen to more than a random user. I could not figure out how to set my user-agent string to get around this (general.useragent.override, but set to what? Does that even affect appversion at all?). If I run a proxy that rewrites the Javascript on the page to force the browser to be supported, the page appears to work (not unexpected since they support Netscape 7). Actual Results: Got a page saying the browser isn't supported. Expected Results: The software should have worked the same, but the page should have allowed Mozilla. (Why is it that the 'enter a bug' page for evangelism asks what the software should have done instead?)
Confirming this bug. Here is the faulty JS : <script language="javascript"> <!-- begin hiding // The user must have NN4+ or IE4+ in order to make the most of this navbar // Do a check for these two browsers. If they have something else, send them over to the html version // Note: AOL4 doesn't tell us who it is -- under certain circumstances, it doesn't say it's AOL, so we can't check for it. var browser = ""; if ( (parseInt(navigator.appVersion) >= 4) && ((navigator.appName.indexOf("Microsoft") != -1) || (navigator.appName.indexOf("Netscape") != -1)) && ((navigator.appVersion.indexOf("Win") != -1) || (navigator.appVersion.indexOf("Mac") != -1)) ) { browser = "okay"; } else { browser = "other"; } // end hiding --> </script> Contact page : http://personalmko.fidelity.com/products/funds/mfl_frame.shtml?316071109 Confirming bug.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [havecontact]
OS: Linux → All
Hardware: PC → All
Summary: fidelity.com checks for browser in bad way → fidelity.com - bad browser sniffing
The original steps work for me with both Firefox 1.0 and Mozilla 1.7.5: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041217 The JS still only checks for "Microsoft" and "Netscape", so they either updated the website or disabled the redirect. Should we mark this WFM?
it still doesn't work on Linux. If I manually edit libnecko.so to change the X11 to Win (simple replacement) then one gets "Mozilla/5.0 (Win; U; Linux i686; en-US; rv:1.7.5)" which passes their test and makes it fully workable. This is a hack I've had to do for years now, reasoning being that even changing the user agent doesn't change navigator.appName as that's hardcoded into the X11 binaries as X11, don't know if it changed to change with the user agent.
This also seems to work fine on Firefox 2 and Camino-trunk on Mac. Updating summary and OS to reflect current reality.
OS: All → Linux
Summary: fidelity.com - bad browser sniffing → fidelity.com - bad browser sniffing (checks for Win/Mac, breaks with Linux)
INCOMPLETE due to lack of activity since the end of 2009. If someone is willing to investigate the issues raised in this bug to determine whether they still exist, *and* work with the site in question to fix any existing issues, please feel free to re-open and assign to yourself. Sorry for the bugspam; filter on "NO MORE PRE-2010 TE BUGS" to remove.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → INCOMPLETE
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.