Bug #14136
closedMSIE detected as Mozilla browser
0%
Description
MSIE sends as browser detection string: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1). Typo3 detects the word Mozilla first and ignores the MSIE part.
Browser identification strings:
Mozilla 1.6: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6)
Internet Explorer 6: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Opera can report itself as Opera OR IE6 OR Mozilla 5.0 OR Mozilla 4.78 OR Mozilla 3.0:
As Opera: Opera/7.23 (Windows NT 5.1; U) [en]
As IE6: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.23
As Mozilla 5.0: Mozilla/5.0 (Windows NT 5.1; U) Opera 7.23 [en]
As Mozilla 4.78: Mozilla/4.78 (Windows NT 5.1; U) Opera 7.23 [en]
As Mozilla 3.0: Mozilla/3.0 (Windows NT 5.1; U) Opera 7.23 [en]
The string 'Mozilla' is present in several browsers (MSIE, Opera, ...?). The detection of 'Mozilla' should be one of the last lines because of this.
Detection of MSIE should have priority over Opera (because the words 'MSIE' and 'Opera' are both present in the Opera string if Opera presents itself as IE6)
If you keep the 2 rules above in mind, the browser detection should contain (the file /t3lib/class.t3lib_matchcondition.php at line 414):
if (strstr($useragent,'MSIE')) {
$browserInfo['browser']='msie';
} elseif(strstr($useragent,'Opera')) {
$browserInfo['browser']='opera';
} elseif(strstr($useragent,'Lynx')) {
$browserInfo['browser']='lynx';
} elseif(strstr($useragent,'PHP')) {
$browserInfo['browser']='php';
} elseif(strstr($useragent,'AvantGo')) {
$browserInfo['browser']='avantgo';
} elseif(strstr($useragent,'WebCapture')) {
$browserInfo['browser']='acrobat';
} elseif(strstr($useragent,'IBrowse')) {
$browserInfo['browser']='ibrowse';
} elseif(strstr($useragent,'Teleport')) {
$browserInfo['browser']='teleport';
} elseif(strstr($useragent,'Mozilla')) {
$browserInfo['browser']='netscape';
} else {
$browserInfo['browser']='unknown';
}
(issue imported from #M51)