2017-06-27 5 views
0

Je développe une application dans Joomla! 3.x qui utilise les cookies JWT pour accorder certains privilèges. Tout fonctionne bien avec Chrome, Firefox et Safari, mais quand il s'agit d'Opera, mes cookies sont tronqués.Opera tronque les cookies sur Joomla

Comment je mets les biscuits:

$inputCookie = JFactory::getApplication()->input->cookie; 
$inputCookie->set("myCookie", $myCookie, 0); 

Au lieu d'un encodage base64 bien formé d'un JWT, que je reçois sur tous les autres navigateurs, Opera me montre que ceci:

o42io94enaeq3ellgfnafhdun3 

La suppression des cookies ne fonctionne pas, car le cookie est toujours tronqué lorsqu'il est stocké.

Informations supplémentaires: La version Opera est 46 sur Mac. En utilisant Opera 46 sous Windows, je n'ai aucun problème avec les cookies.

+0

Opera et IE utilisent une limite de 'max octets par domaine '. Êtes-vous par hasard le dessus? Un googling rapide montre "Opera permet 4096 octets". –

+0

Lorsque le cookie est correctement défini, l'ensemble des cookies pour les domaines totaux inférieurs à 300 octets – frollo

Répondre

0

C'était la faute du cache. Je ne comprends toujours pas exactement ce qui s'est passé, mais il a été simplement résolu en passant à la navigation privée. L'application utilise des redirections avec des cookies et Opera a probablement mis en cache des informations partielles (je ne comprends toujours pas comment elle a réussi à avoir seulement la moitié d'un cookie, cependant). Passer à la navigation privée ou supprimer des cookies et du cache a obligé Opera à accepter l'ensemble du cookie et tout a fonctionné. Il semble arriver tous les deux (environ deux ou trois) visite sur la page.