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

时间:2017-12-21 13:50:47

标签: cookies coldfusion coldfusion-10 coldfusion-2016

我们最近刚刚将测试服务器从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中检查这个问题?谢谢。

1 个答案:

答案 0 :(得分: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