Does the latest version of firefox (44.0) have a problem storing cookies where the name of the cookie contains a space?
Hi,
I have javascript code that is run to create certain cookies. Since updating to Firefox 44.0, it would seem cookies don't get stored if their name contains a space.
Cookie that does not get created anymore (space inbetween 'Full' and 'text': document.cookie="text_searchfield_ROW0LIBRIOS2SEARCHFIELD[Full text]=england; path=/";
There's a space because these names have to be generated dynamically.
This is causing a bit of stress as there's a lot of websites dependent on this.
Any feedback would be appreciated.
Adam.
Solução escolhida
I have posted the site compatibility doc: https://www.fxsitecompat.com/en-CA/docs/2016/whitespaces-are-no-longer-allowed-in-cookie-names/
Yeah, some apps might be broken due to this change. Mozilla developers are now aware of the issue, and Firefox may allow spaces again for backward compatibility.
Ler esta resposta 👍 1Todas as respostas (4)
Maybe forget the bit about 'causing a bit of stress'. The code has been updated affecting my sites.
Definitely want to make you aware in case though.
Perhaps this is a regression from a cookie-related security issue fixed with Firefox 44. But, I believe you have to encode the value anyway before being saved, because white spaces are not allowed. See https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie
Filed a bug to make sure this change is intentional.
Alterado por Kohei em
Thanks for the response Kohei.
I agree, we should have been encoding these names - we just didn't realise we weren't encoding them until version 44 stopped them from working.
I'm sure there'll be a few others getting caught out with this.
Thank you for you time.
Solução escolhida
I have posted the site compatibility doc: https://www.fxsitecompat.com/en-CA/docs/2016/whitespaces-are-no-longer-allowed-in-cookie-names/
Yeah, some apps might be broken due to this change. Mozilla developers are now aware of the issue, and Firefox may allow spaces again for backward compatibility.