ik ben bezig met een beveiligde CMS pagina. Hierbij maak ik gebruik van een SESSION. Deze wordt automatisch wegeknikkerd na 20 minuten geen interactie, of wanneer de gebruiker op 'uitloggen' klikt. Het wegknikkeren (dus verplichten tot opnieuw inloggen) werkt wel, maar het vreemde is dat hij altijd dezelfde sessie behoudt:
Weet iemand wat ik fout doe?
De code op de inlogpagina is
Op iedere pagina staat in de HEAD
En in de APPLICATION.CFM (die hij automatisch aanroept doordat er met een session wordt gewerkt) staat deze code:
De uitlogpagina is dit:
code:
1
2
| CFID=53 CFTOKEN=71794019 |
Weet iemand wat ik fout doe?
De code op de inlogpagina is
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <CFIF #form.inlognaam# neq '' and #form.wachtwoord# neq ''>
<CFQUERY DATASOURCE="egpn" NAME="GetUserRecord">
SELECT *
FROM admintoegang
WHERE Inlognaam = '#FORM.inlognaam#' AND Wachtwoord= '#FORM.wachtwoord#'
</CFQUERY>
<CFIF #getuserrecord.recordcount# eq 1>
<CFLOCK SCOPE="SESSION" TIMEOUT="1" TYPE="EXCLUSIVE">
<CFSET session.rechten = "true">
<CFSET session.loginnaam = #getuserrecord.inlognaam#>
<CFSET session.gebruikers_id = #getuserrecord.userid#>
</CFLOCK>
<CFINCLUDE TEMPLATE="adminframe.cfm">
<!--- De frameset voor de beveiligde CMS site -->
<CFELSE>
<tt>U bent niet gemachtigd om deze pagina te bekijken.</tt>
</CFIF> |
Op iedere pagina staat in de HEAD
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <CFOUTPUT>
<CFIF not IsDefined("sessie_verlopen_sec")>
<cflock scope="session" timeout="1" type="readonly">
<META HTTP-EQUIV="refresh" CONTENT="#session.sessie_verlopen_sec#;URL=intranet.cfm?wis_sessie=1">
</cflock>
</CFIF>
</CFOUTPUT>
<cflock scope="session" timeout="1" type="readonly">
<cfoutput>
<cfif not isDefined("session.loginnaam")>
<meta http-equiv="refresh" content="inloggen.cfm">
</cfif>
</cfoutput>
</cflock> |
En in de APPLICATION.CFM (die hij automatisch aanroept doordat er met een session wordt gewerkt) staat deze code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <CFSET dag = 0>
<CFSET uur = 0>
<CFSET min = 20>
<CFSET sec = 0>
<CFAPPLICATION
SESSIONTIMEOUT = #CreateTimeSpan(dag,uur,min,sec)#
SESSIONMANAGEMENT="Yes"
SETCLIENTCOOKIES="No"
NAME="egpnApp">
<cflock scope="SESSION" timeout="1" type="EXCLUSIVE">
<CFSET session.server = CGI.http_host>
</cflock>
<cflock scope="session" type="EXCLUSIVE" timeout="1">
<CFSET session.sessie_verlopen_sec=1+sec+min*60+uur*3600+dag*86400>
</cflock> |
De uitlogpagina is dit:
code:
1
2
3
4
5
| <cflock TimeOut="1" scope="SESSION" type="EXCLUSIVE">
<cfset Structclear(Session,"loginnaam")>
<cfset Structclear(Session,"sessie_verlopen_sec")>
</cflock>
<cflocation url="inloggen.htm"> |