Je suis tombé sur un problème où une application Web a réussi à créer un cookie sur le client, qui, lorsque soumis par le client à Apache, provoque Apache à retourner le suivant:Comment faire pour supprimer un grand cookie qui provoque Apache à 400
HTTP/1.1 400 Bad Request
Date: Mon, 08 Mar 2010 21:21:21 GMT
Server: Apache/2.2.3 (Red Hat)
Content-Length: 7274
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Size of a request header field exceeds server limit.<br />
<pre>
Cookie: ::: A REALLY LONG COOKIE ::: </pre>
</p>
<hr>
<address>Apache/2.2.3 (Red Hat) Server at www.foobar.com Port 80</address>
</body></html>
Après avoir examiné la question, il semblerait que l'application Web a réussi à créer un cookie très long, plus de 7000 caractères. Maintenant, ne me demandez pas comment l'application web était capable de faire cela, j'étais sous l'impression que les navigateurs étaient censés empêcher cela. J'ai réussi à trouver une solution pour empêcher les cookies de redevenir incontrôlables.
Le problème que j'essaie de résoudre est de savoir comment réinitialiser le grand cookie sur le client si chaque fois que le client essaie de soumettre une requête à Apache, Apache renvoie une erreur 400 client? J'ai essayé d'utiliser la directive ErrorDocument, mais il semble qu'Apache reste actif sur la requête avant d'atteindre toute erreur de gestion personnalisée.
Je suis sûr que vous ne vouliez pas donner l'impression que le titre de votre question était un euphémisme mais cela m'a fait sourire! :-) –
Oui, le phrasé est un peu gênant, je ne savais pas trop comment le mettre. –