r00*_*3ss 1 cookies coldfusion
对不起,我是Coldfusion的新手.试图在工作中更新一些遗留代码......
我使用变量在coldfusion中命名了一个cookie.
<cfcookie name="#FORM.cookie_name#" Expires="#FORM.cookie_expires#">
Run Code Online (Sandbox Code Playgroud)
如何检查cookie是否未过期?这似乎使页面崩溃......
<cfif isDefined("cookie.#FORM.cookie_name#")>
Run Code Online (Sandbox Code Playgroud)
非常感谢.
要检查它是否存在,请使用StructKeyExists:
StructKeyExists(Cookie,Form.cookie_name)
Run Code Online (Sandbox Code Playgroud)
要使用该变量,请使用括号表示法:
Cookie[Form.cookie_name]
Run Code Online (Sandbox Code Playgroud)
不要忘记表单变量和Cookie变量都是由用户/客户端提交的 - 因此必须得到适当的处理(即从不相信它们包含您认为他们所做的事情,因为它不能保证).
isDefined("Cookie['#Form.cookie_name#']")
Run Code Online (Sandbox Code Playgroud)
然后将其评估为Cookie['606ac80d']- 如果没有那些单引号,它将是无效变量.
正如Leigh所指出的,上面的内容适用于Railo和OpenBD,但不适用于需要编写的Adobe ColdFusion:
isDefined("Cookie.#Form.cookie_name#")
Run Code Online (Sandbox Code Playgroud)
此语法适用于简单的字母数字变量名称,但如果form.cookie_name包含带有.in 的值,则可能会导致问题.
| 归档时间: |
|
| 查看次数: |
8546 次 |
| 最近记录: |