Nachteile der Teilung von Django-Sessions auf mehreren Subdomains

Ich habe eine Django-Website mit dem Sites Framework gebaut und habe vier Seiten in verschiedenen Subdomains. Lets nennen sie one.mydomain.com; Zwei.mydomain.com … etc.

Drei der Standorte sind Produktstandorte und einer ist ein Geschäft. Ich möchte in der Lage sein, Sitzungen über die Seiten zu teilen, so dass ein Benutzer sich nicht erneut anmelden muss, wenn er von irgendwelchen der Produktstandorte zum Laden wechselt. Ich weiß, ich könnte cas verwenden , um die Single-Login zu erreichen, aber ich glaube nicht, dass erfüllt alle meine Zwecke.

Ich habe diesen Beitrag gelesen und diesen Beitrag beim Teilen von Sessions über Subdomains und der Konsens scheint zu sein, dass es eine schlechte Idee ist.

In meinem Fall möchte ich, dass ein Benutzer in der Lage ist, Gegenstände zu einem Wagen auf einer Subdomain hinzuzufügen und dann zum Warenkorb zur Kasse zu gehen. Ich kann nicht sehen, eine Möglichkeit, dies zu tun, ohne Sessions zu teilen. Ein Benutzer sollte auch in der Lage sein, um ihren Wagen von einer anderen Produkt-Website hinzuzufügen und beim Auschecken würde Produkt von one.mydomain.com, Produkt von two.mydomain.com etc. sehen.

Also meine Frage ist, warum ist die Teilung Sessions eine schlechte Idee abgesehen von potenziellen Konflikten? Angenommen, dass ich sicher bin, dass die einzigen Konflikte, die auftreten (und das sollte auftreten) ist Benutzer-Login-Info.

Mein Setup hat die SECRET_KEY für alle Seiten und SESSION_COOKIE_DOMAIN = '. Mydomain.com' geteilt. Gibt es einen ernsthaften Sicherheitsfehler, den mir bei diesem Setup fehlt?

Danke ./w

  • Scrapy - wie man Cookies / Sessions verwaltet
  • Mit einem Session-Cookie aus Selen in urllib2
  • Warum nicht die geheimen Schlüssel jedes Mal, wenn Flasche Anwendung beginnt?
  • Warum verschwinden einige Flaschensitzungswerte aus der Sitzung nach dem Schließen des Browserfensters, aber dann wieder auftauchen, ohne dass ich sie hinzufüge?
  • Aktualisieren von Cookies in der Sitzung Verwenden von Python-Anfragen Modul
  • Python Scraping Web mit Session Cookie
  • Python-Anfragen verwenden: Sessions, Cookies und POST
  • So löschen Sie Cookies mit Django
  • 2 Solutions collect form web for “Nachteile der Teilung von Django-Sessions auf mehreren Subdomains”

    Es scheint mir, es ist ein Sicherheitsfehler in Fällen, in denen Sie nicht kontrollieren alle Subdomains einer bestimmten Domain. Zum Beispiel haben Sie one.mydomain.com und two.mydomain.com, aber der Browser wird Ihr Cookie auch auf eine Website namens bad.mydomain.com geben, da Ihre Einstellungen SESSION_COOKIE_DOMAIN = '. Mydomain.com' haben.

    Ein weiteres mögliches Loch würde passieren, wenn Sie Ihre Entwicklungsumgebung als eine der Subdomains (zB dev.mydomain.com) behalten. Sie würden nicht isoliert sein, wenn das der Fall ist.

    Soweit ich das Thema recherchiert habe, scheint es, dass das Worst-Case-Szenario Ihre Cookies ausgeben würde, um Subdomains zu schikanieren, so dass potenziell jemand eine echte Session mit diesem Cookie entführen könnte.

    In diesem Moment mache ich weiter Forschung, wie man verschiedene Subdomains (kontrolliert von der gleichen Instanz von Django) in einer besseren Weise zu isolieren, aber es scheint, es gibt keine wirkliche Möglichkeit, dies zu tun, außer umschreiben die SessionMiddleware.

    Von vielen der Dinge, die ich gelesen habe, wird es als eine schlechte Idee angesehen, es scheint, als ob Sie einige sehr schwer zu verfolgen Bugs, wenn Sie versuchen, und teilen Sitzungen zwischen Websites zu schaffen. Soweit ich weiß, ist es typischerweise besser, die Dinge so staatenlos wie möglich zu machen.

    Python ist die beste Programmiersprache der Welt.