Bug #53818

Internet Explorer 11 BE Cookies problem

Added by Vladimir Kubak over 6 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
Backend User Interface
Target version:
Start date:
2013-11-20
Due date:
% Done:

100%

TYPO3 Version:
4.5
PHP Version:
Tags:
Complexity:
medium
Is Regression:
No
Sprint Focus:

Description

Accessing backend with Internet Explorer 11 causes "Activate Cookies, please" message, instead of login form. Cleaning cookies causes login page appears for the first time. Then again...

IE 11 on Windows 7 - tested on 3 different computers - 32 and 64bit, different locations.
Tested on our 4.5 and 4.7 instalations and also on introduction.typo3cms.demo.typo3.org.
Tried different settings of IE with no luck.

Cookies_activate.png View (87.6 KB) Wouter Wolters, 2013-11-21 10:44


Related issues

Related to TYPO3 Core - Bug #54124: Extend useragent-checks to include IE11 Closed 2013-12-01

Associated revisions

Revision ae944d90 (diff)
Added by Stefan Neufeind about 6 years ago

[BUGFIX] Cleanly unset cookies on login in cookie-check

Needed to workaround a login-problem with IE11.

ExtJS tries to clear a cookie with different settings than when
setting the cookie. In IE11 this leads to problems with the cookie
being set twice on the next call to set(). The get() however
would return the first (empty) cookie.

Using set() with a date in the past also clears the cookie but
will correctly use the same path-settings.

Change-Id: Ieff22129895cd89ca2e1429703daf1636596ecb6
Resolves: #53818
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/25852
Reviewed-by: Henrik Ziegenhain
Tested-by: Henrik Ziegenhain
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Steffen Ritter
Reviewed-by: Markus Klein
Tested-by: Markus Klein

Revision 41fe22d3 (diff)
Added by Stefan Neufeind about 6 years ago

[BUGFIX] Cleanly unset cookies on login in cookie-check

Needed to workaround a login-problem with IE11.

ExtJS tries to clear a cookie with different settings than when
setting the cookie. In IE11 this leads to problems with the cookie
being set twice on the next call to set(). The get() however
would return the first (empty) cookie.

Using set() with a date in the past also clears the cookie but
will correctly use the same path-settings.

Change-Id: Ieff22129895cd89ca2e1429703daf1636596ecb6
Resolves: #53818
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/25868
Reviewed-by: Markus Klein
Tested-by: Markus Klein

Revision 28ca149e (diff)
Added by Stefan Neufeind about 6 years ago

[BUGFIX] Cleanly unset cookies on login in cookie-check

Needed to workaround a login-problem with IE11.

ExtJS tries to clear a cookie with different settings than when
setting the cookie. In IE11 this leads to problems with the cookie
being set twice on the next call to set(). The get() however
would return the first (empty) cookie.

Using set() with a date in the past also clears the cookie but
will correctly use the same path-settings.

Change-Id: Ieff22129895cd89ca2e1429703daf1636596ecb6
Resolves: #53818
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/25869
Reviewed-by: Markus Klein
Tested-by: Markus Klein

Revision 019d6b7e (diff)
Added by Stefan Neufeind about 6 years ago

[BUGFIX] Cleanly unset cookies on login in cookie-check

Needed to workaround a login-problem with IE11.

ExtJS tries to clear a cookie with different settings than when
setting the cookie. In IE11 this leads to problems with the cookie
being set twice on the next call to set(). The get() however
would return the first (empty) cookie.

Using set() with a date in the past also clears the cookie but
will correctly use the same path-settings.

Change-Id: Ieff22129895cd89ca2e1429703daf1636596ecb6
Resolves: #53818
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/25870
Reviewed-by: Steffen Ritter
Reviewed-by: Markus Klein
Tested-by: Markus Klein

Revision d3e94945 (diff)
Added by Stefan Neufeind about 6 years ago

[BUGFIX] Cleanly unset cookies on login in cookie-check

Needed to workaround a login-problem with IE11.

ExtJS tries to clear a cookie with different settings than when
setting the cookie. In IE11 this leads to problems with the cookie
being set twice on the next call to set(). The get() however
would return the first (empty) cookie.

Using set() with a date in the past also clears the cookie but
will correctly use the same path-settings.

Change-Id: Ieff22129895cd89ca2e1429703daf1636596ecb6
Resolves: #53818
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/25871
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Steffen Ritter
Reviewed-by: Markus Klein
Tested-by: Markus Klein

History

#1 Updated by Markus Klein over 6 years ago

  • Category set to Backend User Interface
  • Status changed from New to Accepted
  • Target version set to next-patchlevel
  • Complexity set to medium

So the login basically works right?

I tested this on 4.5, 4.7 and 6.1 now and everywhere the same behaviour.
But there's a link below saying "Ignore ...".

This allows to login as normal.

#2 Updated by Wouter Wolters over 6 years ago

  • File Cookies_activate.png added

I can also reproduce this. Attached screenshot will be shown.
The first login to the site works. After you visit the site again and try to login the screen pops up.

#3 Updated by Wouter Wolters over 6 years ago

  • File deleted (Cookies_activate.png)

#5 Updated by Ernesto Baschny over 6 years ago

Does that also happen on current "master" (6.2 development)? I ask because we added the "X-UA compatibility" flag there to make IE know that the backend is "IE10 compatible" (used to be IE9). Maybe this affects this particular scenario?

#6 Updated by Vladimir Kubak over 6 years ago

Markus Klein wrote:

So the login basically works right?

I tested this on 4.5, 4.7 and 6.1 now and everywhere the same behaviour.
But there's a link below saying "Ignore ...".

This allows to login as normal.

Right, but some of our editors are confused. They still call...

#7 Updated by Wouter Wolters over 6 years ago

Ernesto Baschny wrote:

Does that also happen on current "master" (6.2 development)? I ask because we added the "X-UA compatibility" flag there to make IE know that the backend is "IE10 compatible" (used to be IE9). Maybe this affects this particular scenario?

Ernesto that was also what I thought so I directly tried my dev-system at work. But this also happens on 6.2:(

#8 Updated by Stefan Neufeind about 6 years ago

relevant part is in typo3/sysext/t3skin/Resources/Public/JavaScript/login.js:

checkCookieSupport: function() {
Ext.util.Cookies.set('typo3-login-cookiecheck', true);
cookieEnabled = Ext.util.Cookies.get('typo3-login-cookiecheck');
if (!cookieEnabled) {
TYPO3BackendLogin.showCookieWarning()
}
Ext.util.Cookies.clear('typo3-login-cookiecheck');
},

Could there be a reason why IE11 does not accept this cookie? Wrong cookie-path or so?

#9 Updated by Stefan Neufeind about 6 years ago

I just found out that with a "normal" browser the user/password-fields would show again. But with IE11 on the error-page they are gone for me. So maybe there is some HTML-error preventing the cookie-check from running at all and/or the boxes from being hidden using CSS.

#10 Updated by Stefan Neufeind about 6 years ago

ah no, the fields are hidden by showCookieWarning() - hmm ...

#11 Updated by Gerrit Code Review about 6 years ago

  • Status changed from Accepted to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25852

#12 Updated by Stefan Neufeind about 6 years ago

  • Status changed from Under Review to Accepted

The debugger-console of IE11 showed that on a call to clear() and another set() when running the next cookie-check actually two cookies were set. The get() from ExtJS however would return the first one (being empty) instead of the most current one that holds "true" from the cookie-check.

This forum-post also suggests that clear() from ExtJS for cookies does not work correctly:
http://www.sencha.com/forum/showthread.php?98070-Ext.util.Cookies.clear%28%29-not-working&p=462560#post462560

The problem might be that clear() tries to "set" a cookie but with different values.

Workaround: Instead of calling clear() use set() and specify a date in the past (actually the same way as clear() would do it). This way the same settings for the cookie will be used.

Using the debugger in IE11 you can see that the cookie is immediately gone after this pseudo-clear was executed.

#13 Updated by Gerrit Code Review about 6 years ago

  • Status changed from Accepted to Under Review

Patch set 1 for branch TYPO3_6-1 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25868

#14 Updated by Gerrit Code Review about 6 years ago

Patch set 1 for branch TYPO3_6-0 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25869

#15 Updated by Gerrit Code Review about 6 years ago

Patch set 1 for branch TYPO3_4-7 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25870

#16 Updated by Gerrit Code Review about 6 years ago

Patch set 1 for branch TYPO3_4-5 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25871

#17 Updated by Stefan Neufeind about 6 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#18 Updated by Gerrit Code Review about 6 years ago

  • Status changed from Resolved to Under Review

Patch set 2 for branch TYPO3_6-1 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25868

#19 Updated by Gerrit Code Review about 6 years ago

Patch set 2 for branch TYPO3_6-0 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25869

#20 Updated by Stefan Neufeind about 6 years ago

  • Status changed from Under Review to Resolved

#21 Updated by Miroslaw Kmiec about 6 years ago

in typo3/sysext/t3skin/Resources/Public/JavaScript/login.js in line 166 schould be, for ex.:

Ext.util.Cookies.set('typo3-login-cookiecheck', true, time () + 60000);

set() should be with 3 parameters to fix IE problem

#22 Updated by Jorgo S. about 6 years ago

Not resolved, I still have this problem in TYPO3 6.1.7 and IE11.

#23 Updated by Stefan Neufeind about 6 years ago

Was merged to 6.1 right after release of current 6.1.7 :-(

Review for 6.1-tree: https://review.typo3.org/25868
Please grab the fix from there and try it out.

#24 Updated by Jorgo S. about 6 years ago

I checked, I had already patched it, so unfortunately something's still wrong.

#25 Updated by Stefan Neufeind about 6 years ago

Did you clear cookies and/or maybe completely closed IE11 after patching? Using the F12-developertool from IE I was able during debugging to see that two cookies actually existed. With the patch the same one is set and unset in both cases. But once something went wrong (without the patch) the problematic cookie is there and won't go away itself unfortunately.

#26 Updated by Jorgo S. about 6 years ago

Yes, silly me. Cleared Cookies again and no more problems so far.

#27 Updated by Benni Mack over 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF