1

次の Application.cfc を作成しましたが、1 つのことを除いてすべてが機能しています。Application.cfc を短時間非アクティブにした後にログアウトさせようとしています。しかし、私の努力はどれもApplicationTimeoutうまくいきませんでしSessionTimeoutた。

誰かアドバイスはありますか?

ありがとうございました

<cfcomponent> 
<cfset This.name = "AndWhat"> 
<cfset This.sessionManagement="True"> 
<cfset This.loginstorage="session"> 
<cfset This.datasource = "database">
<cfset This.ormenabled = "true">
<cfset This.applicationTimeout = createTimeSpan( 0, 0, 1, 0 )>
<cfset This.sessionTimeout = createTimeSpan( 0, 0, 1, 0)>


<cffunction name="onRequestStart" access="remote" > 
    <cfif IsDefined("Form.logout")> 
        <cflogout> 
    </cfif> 
    <cflogin >
        <cfif NOT IsDefined("cflogin")> 
            <cfinclude template="loguser.cfm"> 
            <cfabort> 
        <cfelse> 
            <cfif cflogin.name IS "" OR cflogin.password IS ""> 
                <cfoutput> 
                    <script type="text/javascript">
                        alert("Um, Really?! Please supply a valid username and password!");
                    </script>
                </cfoutput> 
                <cfinclude template="loguser.cfm"> 
                <cfabort> 
            <cfelse > 
                 <cfquery name="myNewLoginQuery" dataSource="database"> 
                    SELECT username, password, policy
                    FROM people 
                    WHERE 
                    username = '#cflogin.name#' 
                    AND password = '#cflogin.password#' 
                </cfquery> 
                <cfif loginQuery.policy NEQ ""> 
                    <cfloginuser name="#cflogin.name#" Password = "#cflogin.password#"> 
                <cfelse> 
                    <cfoutput> 
                        <script type="text/javascript">
                            alert("Um, Really?! Please supply a valid username and password!");
                        </script>
                    </cfoutput>     
                    <cfinclude template="loguser.cfm"> 
                    <cfabort> 
                </cfif> 
            </cfif>     
        </cfif> 

    </cflogin>
</cffunction>
</cfcomponent>
4

3 に答える 3

0

同様の問題が発生しています。ただし、cfqueryparam タグなしでユーザー提供のデータを使用して cfquery を実行することは絶対にしないでください。それなしでSQLインジェクションを求めています。

于 2015-05-19T03:26:43.387 に答える
0

属性idletimeoutcfloginタグに追加してみてください。idletimeout の値を sessionTimeout の値と同じに設定します。cfloginのドキュメントは、http://help.adobe.com/livedocs/coldfusion/8/htmldocs/help.html?content=Tags_j-l_07.html で確認できます

于 2014-06-30T11:05:48.973 に答える
-1

sessionTimeout 変数のタイムスタンプを生成するには、CreateTimeSpan 変数を使用する必要があります。

于 2013-04-15T05:23:36.983 に答える