两个不同的会话超时

Two different session timeouts

这行得通吗?

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

如果有人登录,我不想让他们注销,但如果蜘蛛出现,我不希望蜘蛛长时间占用会话存储。

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

我以前做过,但 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()里面行不行。它可以节省大量内存,尤其是当您的网站被大量机器人攻击时。