1

这行得通吗?

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

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

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

4

1 回答 1

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()。它可以节省大量内存,尤其是当您的网站被很多机器人攻击时。

于 2015-04-09T01:17:27.470 回答