Frage

Ein Kollege von mir hat mich gebeten, einen Blick auf einige Cookie Verhalten zu übernehmen. Er schuf eine einfache Web-App, dass ein Cookie erstellt und den Wert eines Textfeld eingefügt, er überprüft dann die Cookie-Sammlung auf der nächsten Seite sehen sie eingeführt worden war und richtig gelesen zurück.

Alle wirklich einfach.

Auf der zweiten Seite jedoch stellte er fest, das war mehr als ein Cookie, mit den anderen zu einem anderen Web-App im Zusammenhang er lokal Debuggen hatte.

Ich sagte ihm, geschieht dies, weil der Browser die URL erkannt und damit alle Cookies gesendet, dass sie als von dort anerkannt, ist das richtig? Wäre es es tun, auch wenn die lokale Debug-Server-Port geändert?

War es hilfreich?

Lösung

Cookies haben grundsätzlich zwei Parameter, die anweisen, den Browser, wenn sie an den Server zurück zu senden:

  • Pfad
  • Domäne

Wenn kein path gegeben ist, wird standardmäßig das Dokument Standort, zum Beispiel ein Cookie Set von http://example.com/foo/bar.html auf alle URLs zurückgeschickt werden, die mit /foo beginnen.

Wenn domain mit einem Punkt beginnt, es umfasst auch alle Sub-Domains. Z. B. wird ein Cookie-Set für .example.com auch zurück zu static.example.com gesendet werden.

Port-Nummer wird nicht berücksichtigt.

Das Problem mit Debug-Cookies wird Ihre Besucher beeinflusst, nur Entwickler, so ist es einfacher, nur die Cookies mit der entsprechenden Browser-Option zu entfernen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top