Der Wert von CFID/CFTOKEN wurde aus Sicherheitsgründen von einem einfachen numerischen Wert in einen String + numerischen Wert geändert.
http://helpx.adobe.com/coldfusion/kb/predictable-cookie-session-ids-reported.html
Grund
In der Standardkonfiguration verwendet Adobe Coldfusion ein Paar von Cookies CF_ID und CF_TOKEN namens Benutzersitzungen zu verwalten. Diese beiden Cookies werden immer nur zusammen verwendet - sie werden niemals separat verwendet.
Obwohl CF_ID sequenziell ist, ist CF_TOKEN zufällig und nicht vorhersagbar. Da die Kombination beider Cookies verwendet wird, ist die resultierende Kombination auch nicht vorhersagbar.
Lösung
Um diesen Fehler in Ihren Compliance-Tests zu vermeiden, können Sie Coldfusion verwenden J2EE Session-IDs statt CF_ID und CF_TOKEN konfigurieren.
Hinweis: Diese Lösung macht Ihren ColdFusion Server nicht mehr oder weniger sicher.
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 im selben Pool haben, in dem Anfragen von einem zum anderen wechseln 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 beispielsweise eine CF-UI-Komponente verwenden, treten Probleme auf, wenn eine auf CF X gerenderte Anfrage mit HTML & JS an CF Y gesendet wird, die JS-Funktionen für diese Funktion aktualisiert hat. Wir riss sie alle aus und konvertiert jQuery/jQuery UI
wir auch in etwas so Einfaches wie das lief:
this.name = HASH(getDirectoryFromPath(getCurrentTemplatePath()));
getDirectoryFromPath()
zurück einen oberen Fallwert in 8 und Klein Wert in 9 (oder umgekehrt).Wir hatten es so zu aktualisieren:
this.name = HASH(Lcase(getDirectoryFromPath(getCurrentTemplatePath())));
, um sie die gleichen Anwendungsnamen verwenden zu haben und daher Sitzung.
Sie sollten besser CF 11 in seinem eigenen Pool ausführen und einen vollständigen Regressionstest ausführen, um herauszufinden, was aktualisiert werden muss.
Können Sie stattdessen zur Verwendung von JSESSIONIDs wechseln? –
Möglicherweise, aber das könnte bedeuten, die Sitzungen des Benutzers zu beenden, wenn wir darauf umschalten. – kmc