2017-12-21 9 views
2

Wir haben kürzlich unseren Testserver von CF10 auf CF16 umgestellt. Eines der Probleme sind Cookies. Nachdem ich versucht habe, sich in unserem System anzumelden, wurde auf dem Bildschirm Cookies Are Not Enabled! angezeigt. Ich habe den Code überprüft und es gibt cfif, die prüft, ob Cookie.test nicht definiert ist. Hier ist Beispiel meines Code:Wie überprüft man, ob in ColdFusion 2016 Cookies vorhanden sind?

<cfif NOT IsDefined("Cookie.test")> 
    Cookies Are Not Enabled! 
    <cfabort> 
</cfif> 

Dies ist Codezeile, wo ich cookie.test gefunden:

<cfcookie name="test"> 

Dies ist auf die ganz unten auf der Seite und isDefined() ist auf der obersten Etage. Ich frage mich, wie dies in ColdFusion 2016 überprüft werden kann? Vielen Dank.

+0

Wie/Wo ist der Code, den 'Cookie.test' Wert einstellen? Kannst du uns diesen Code zeigen? –

+0

@ Miguel-F Ich habe diese Codezeile gefunden. Es ist am Ende der Seite definiert. Ich will dir nur den Kopf geben, das ist ein alter Legacy-Code. Ich bin mir nicht sicher, warum sie cookie.test gesetzt haben. –

+0

Es macht keinen Sinn, dass die Überprüfung vor dem Schreiben des Cookies stattfindet. Insbesondere, wenn die Prüfung fehlschlägt, wird die Anfrage abgebrochen. Sie teilen nicht den tatsächlichen Code, so dass es schwierig ist, das genaue Problem zu nennen. Im Allgemeinen muss der Cookie gesetzt werden, bevor Sie nach ihm suchen. Gibt es Code in Application.cfc (oder Application.cfm) in Bezug auf Cookies? –

Antwort

2

Sie können isBoolean(URLSessionFormat("true")) verwenden, um zu prüfen, ob Cookies aktiviert sind oder nicht.

<cfif isBoolean(URLSessionFormat("true"))> 
    cookies are enabled 
<cfelse> 
    cookies are not enabled 
</cfif> 

Außerdem habe ich eine UDF erstellt

https://cflib.org/udf/isCookiesEnabled

/** 
* Returns true if browser cookies are enabled. 
* 
* @return Returns a boolean. 
* @author Alex Baban 
* 
*/ 
function isCookiesEnabled() { 
    return IsBoolean(URLSessionFormat("True")); 
} 

<cfoutput>#isCookiesEnabled()#</cfoutput>


Live-Demo:

<cfset result = IsBoolean(URLSessionFormat("True")) /> 
<cfdump var = "#result#" /> 

https://trycf.com/gist/2746d807170a0dc74e7349935320a78e/lucee5?theme=monokai

+0

Bitte erklären Sie Ihre Down-Abstimmung. Dies ist eine Lösung für das Problem. –

+0

Ich verstehe nicht den Downvote auch. Die OP Absicht scheint nicht zu suchen ein spezifisches Cookie (was diese UDF nicht tut), aber um das Verhalten des Zugriffs auf einen Cookie zu verifizieren (was diese UDF tut). – Shawn

Verwandte Themen