diff options
author | Dominik Eckelmann <eckelmann@cosmocode.de> | 2013-02-20 10:44:25 +0100 |
---|---|---|
committer | Dominik Eckelmann <eckelmann@cosmocode.de> | 2013-02-20 10:44:25 +0100 |
commit | a4ce95c84dca904abb57d30efa2a9d5d68eeda1b (patch) | |
tree | 14cf73b7aef86750b5aaa0d917d15eaadc1d1cab | |
parent | 26ed704a1d2b2e40b06498df3fe2a747b751de28 (diff) | |
download | rpg-a4ce95c84dca904abb57d30efa2a9d5d68eeda1b.tar.gz rpg-a4ce95c84dca904abb57d30efa2a9d5d68eeda1b.tar.bz2 |
fixed auth_browseruid on IE9
IE9 send different HTTP_ACCEPT_LANGUAGE header on ajax request. This causes different results from auth_browseruid. This patch removes the HTTP_ACCEPT_LANGUAGE from the browser id calculation.
-rw-r--r-- | _test/tests/inc/auth_browseruid.test.php | 30 | ||||
-rw-r--r-- | inc/auth.php | 1 |
2 files changed, 30 insertions, 1 deletions
diff --git a/_test/tests/inc/auth_browseruid.test.php b/_test/tests/inc/auth_browseruid.test.php new file mode 100644 index 000000000..d33552582 --- /dev/null +++ b/_test/tests/inc/auth_browseruid.test.php @@ -0,0 +1,30 @@ +<?php + +class auth_browseruid_test extends DokuWikiTest { + + + /** + * regression test to ensure correct browser id on IE9. + * + * IE9 send different HTTP_ACCEPT_LANGUAGE header on ajax request. + */ + function testIE9JsVsDefault() { + + // javascript request + $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)'; + $_SERVER['HTTP_ACCEPT_ENCODING'] = 'gzip, deflate'; + $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'de'; + unset($_SERVER['HTTP_ACCEPT_CHARSET']); + $javascriptId = auth_browseruid(); + + // default request + $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)'; + $_SERVER['HTTP_ACCEPT_ENCODING'] = 'gzip, deflate'; + $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'de-DE'; + $normalId = auth_browseruid(); + + $this->assertEquals($normalId, $javascriptId); + + } + +}
\ No newline at end of file diff --git a/inc/auth.php b/inc/auth.php index 9566a2615..d82b8b5dd 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -311,7 +311,6 @@ function auth_browseruid() { $uid = ''; $uid .= $_SERVER['HTTP_USER_AGENT']; $uid .= $_SERVER['HTTP_ACCEPT_ENCODING']; - $uid .= $_SERVER['HTTP_ACCEPT_LANGUAGE']; $uid .= $_SERVER['HTTP_ACCEPT_CHARSET']; $uid .= substr($ip, 0, strpos($ip, '.')); $uid = strtolower($uid); |