如何检查ColdFusion 2016中是否存在cookie?

问题描述 投票:2回答:1

我们最近刚刚将测试服务器从CF10升级到CF16。其中一个问题是cookies。在我尝试登录我们的系统消息后,屏幕上显示Cookies Are Not Enabled!。我检查了代码,并且有cfif检查Cookie.test是否未定义。这是我的代码示例:

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

这是我找到cookie.test的代码行:

<cfcookie name="test">

这是在页面的最底部,isDefined()位于最顶层。所以我想知道如何在ColdFusion 2016中检查这个问题?谢谢。

cookies coldfusion coldfusion-10 coldfusion-2016
1个回答
2
投票

您可以使用isBoolean(URLSessionFormat("true"))检查cookie是否已启用。

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

另外,我创建了一个UDF

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>


现场演示:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.