CFToken / CFID in Coldfusion 11

9

CF11 setzt die Werte dieser Cookies mit einem Hashwert des Anwendungsnamens voraus.

In CF9 liegt der Wert von CFID für mich in der Form von: 2219 In CF11 ändert sich dies zu Z3ir0kan93jawdd3kz38onobced8tfgn2kc3fy8i0w884gqffsn-2219

Ich muss in der Lage sein, einen CF9- und CF11-Server im selben Pool zu betreiben (während wir das Upgrade durchführen), aber die Unterschiede in den Cookie-Werten bedeuten, dass Sie sich auf einem CF9-Server anmelden und zu einem CF11-Server navigieren , wirst du ausgeloggt.

Gibt es eine Möglichkeit, CF11 dazu zu bringen, das CF9-Format für diese Cookie-Werte zu verwenden?

    
kmc 21.01.2015, 12:25
quelle

1 Antwort

2

Der Wert von CFID / CFTOKEN wurde aus Sicherheitsgründen von einem einfachen numerischen Wert in einen String + numerischen Wert geändert.

Ссылка

  

Grund

     

In der Standardkonfiguration verwendet Adobe ColdFusion ein Paar Cookies namens CF_ID und CF_TOKEN zum Verwalten von Benutzersitzungen. Diese beiden Cookies werden immer nur zusammen verwendet - sie werden niemals separat verwendet.

     

Obwohl CF_ID sequentiell ist, ist CF_TOKEN zufällig und unvorhersehbar. Da die Kombination beider Cookies verwendet wird, ist die resultierende Kombination auch unvorhersehbar.

     

Lösung

     

Um diesen Fehler in Ihren Konformitätstests zu vermeiden, können Sie ColdFusion so konfigurieren, dass anstelle von CF_ID und CF_TOKEN J2EE-Sitzungsbezeichner verwendet werden.

     

Hinweis: Diese Lösung macht Ihren ColdFusion Server nicht mehr ungefährlich.

Es ist also nicht in Ihrem Interesse, dass CF 11 den numerischen CF_ID-Wert im alten Stil verwendet.

Wenn Sie CF 9 und CF 11 in demselben Pool haben, in dem Anfragen von einem zum anderen springen können, stoßen Sie auf eine Reihe anderer Probleme. Ich habe den größten Teil eines Jahres damit verbracht, vor etwa zwei Jahren von CF 8 zu CF 9 zu wechseln (ja, ja, ich weiß).

Wenn Sie zum Beispiel irgendwelche CF-UI-Komponenten verwenden, haben Sie Probleme, wenn eine Anfrage, die auf CF X startet, HTML & amp; JS geht zu CF Y, der JS-Funktionen für diese Funktion aktualisiert hat. Wir haben sie alle rausgerissen und in jQuery / jQuery UI

konvertiert

Wir sind auch auf etwas so einfaches gestoßen:

this.name = HASH(getDirectoryFromPath(getCurrentTemplatePath()));

getDirectoryFromPath() hat einen Großbuchstaben in 8 und einen Kleinbuchstaben in 9 zurückgegeben (oder umgekehrt). Wir mussten es auf diese aktualisieren:

this.name = HASH(Lcase(getDirectoryFromPath(getCurrentTemplatePath())));

, damit sie denselben Anwendungsnamen und damit dieselbe Sitzung verwenden.

Sie sollten besser CF 11 in seinem eigenen Pool ausführen und einen vollständigen Regressionstest durchführen, um herauszufinden, was aktualisiert werden muss.

    
Adrian J. Moreno 21.01.2015 19:53
quelle

Tags und Links