两个不同的会话超时

时间:2015-04-09 00:35:40

标签: coldfusion cfml lucee

这会有用吗?

function onRequestStart(myPage) {
    if (condition) {
        this.sessionTimeout = CreateTimeSpan(0, 2, 0, 0)
    } else {
        this.sessionTimeout = CreateTimeSpan(0, 0, 1, 0)
    }
}

如果有人登录,我不想将其注销,但如果蜘蛛出现,我不希望蜘蛛长时间占用会话存储空间。 / p>

也许我担心一些我不需要担心的事情。

1 个答案:

答案 0 :(得分:2)

我之前已经这样做过但不是onRequestStart()。我将它放在Application.cfc的伪构造函数区域中(即,在任何方法定义之前)。对基于标记的语法表示道歉:

<cfset variables.sessionTimeout = createTimeSpan(0,2,0,0) />
<cfif variables.isBot>
    <cfset variables.sessionTimeout = createTimeSpan(0,0,1,0) />
</cfif>
<cfset this.SessionTimeout = variables.sessionTimeout />

是的,确实有效。如果你把它放在onRequestStart()里面,我不知道它是否会起作用。它可以节省大量内存,特别是如果您的网站遭到很多机器人的攻击。<​​/ p>