cookies - 如何在 Coldfusion 中检索名称是通过变量设置的 cookie?

标签 cookies coldfusion

<分区>

Possible Duplicate:
Calling a variable with a variable in its name - coldfusion?

抱歉,我是 Coldfusion 的新手。尝试在工作中更新一些遗留代码...

我在 coldfusion 中使用变量命名了一个 cookie。

<cfcookie name="#FORM.cookie_name#" Expires="#FORM.cookie_expires#">

如何检查 cookie 是否未过期?这似乎使页面崩溃...

<cfif isDefined("cookie.#FORM.cookie_name#")>

非常感谢。

最佳答案

要检查它是否存在,请使用 StructKeyExists :

StructKeyExists(Cookie,Form.cookie_name)

要使用变量,请使用括号表示法:

Cookie[Form.cookie_name]


不要忘记 Form 变量和 Cookie 变量都是由用户/客户端提交的 - 因此必须适当对待(即永远不要相信它们包含您认为它们所做的,因为不能保证)。



请注意,如果您确实想使用 isDefined形式来做到这一点(尽管它有好处),它需要这样写:

isDefined("Cookie['#Form.cookie_name#']")

然后它将被评估为 Cookie['606ac80d'] - 如果没有这些单引号,它将是一个无效变量。

正如 Leigh 所指出的,以上内容适用于 Railo 和 OpenBD,但不适用于 Adob​​e ColdFusion,您需要在其中编写:

isDefined("Cookie.#Form.cookie_name#")

此语法适用于简单的字母数字变量名称,但如果 form.cookie_name 包含带有 . 的值,则特别可能会导致问题。

关于cookies - 如何在 Coldfusion 中检索名称是通过变量设置的 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12461385/

相关文章:

iphone - 如何销毁NSHTTPCookies?

cookies - 是否可以禁用 session 存储/本地存储并启用 Cookie?

laravel - Auth::user() 在 Laravel 应用程序中跨域返回 null

html - 使用 ColdFusion 函数 XMLFormat() 时如何转义 HTML 字符实体?

arrays - 如何从 JSON 数组中提取结果并导入 ColdFusion 以获得 7 天的天气预报

pdf - 如何使用 ColdFusion (&iText) 设置 PDF 版权元数据

cookies - 是否可以从不同的子域读取 cookie?如果是这样,如何?

java - 双组-Cookie : PHPSESSID in http response

coldfusion - CF10 websocket p2p 可以从 JavaScript 调用任何 CFC 中的任何公共(public)函数。这怎么不是安全风险?

java - 为什么 cflock 有时会导致 'timeout value is negative' 错误?