The other day I noticed something odd – thanks to Ola's work-in-progress extension for flagging sites with active patches: while visiting a page on php.net the extension informed me that Opera was patching the site to spoof as
Opera/9.80 (Windows NT 5.1; U; en-GB)
Huh? Why would we "spoof" as Opera 9.80 – a version that doesn't even really exist?
Turns out we have some site-specific settings for php.net:
[php.net] User Agent|Spoof UserAgent ID=0 Performance|Enable Pipelining=0
At some point, we saw their servers not handling HTTP pipelining correctly, so we disable it for this domain. Apparently we also set Spoof UserAgent ID to 0 at the time.
0 means "Spoof as Opera". It used to make Opera send its normal UA. However, back when we were working on Opera 10 all the broken sniffers made us come up with the Opera/9.80 identification. The normal string now looks like
Opera/9.80 (Windows NT 5.1; U; en-GB) Presto/2.10.289 Version/12.01
but it turns out that if you add the ID=0 setting in the ini file to ask Opera to identify its real self, all versions since Opera 10 are 9.80 at heart.
The handful of sites that have the legacy UserAgent ID=0 setting applied, have thus been able to log nothing but Opera 9.80 users since Opera 10 was released. Wonder if any server admins ever noticed the weird versioning of their Opera-using customers.. ?