Thanks to Henry, I again looked at using cfheaders, carefully examining the headers sent by CF10 when using <cfset this.SetClientCookies = true> . CF10 omitted the domain value in the header sent to the browser to copy the CF10 header and put it in cfheader:
<cfheader name="Set-Cookie" value="CFID=#session.CFID#; Expires=#GetHttpTimeString(DateAdd("yyyy", 40, Now()))#; Path=/"> <cfheader name="Set-Cookie" value="CFToken=#session.CFToken#; Expires=#GetHttpTimeString(DateAdd("yyyy", 40, Now()))#; Path=/">
Lo ', and now, the browser received a cookie without a domain value having a leading period. I also deleted these cookies with the following code:
<cfheader name="Set-Cookie" value="CFID=#session.CFID#; Expires=#GetHttpTimeString(Now()-1)#; Path=/"> <cfheader name="Set-Cookie" value="CFToken=#session.CFToken#; Expires=#GetHttpTimeString(Now()-1)#; Path=/"> <cfset StructClear(session)> <cflocation url="/" addtoken="no">
The only quirk that seems to be that by checking this block of code using the url variable in Chrome, Chrome sent an HTTP request by simply typing ?ResetSen in the address bar, causing a second request when I hit enter. This will lead to such strange things as skipping CFID (7249 → 7251) or just sending both sets of cookies (expiration: indefinite and expires: now).
Nevermind, the real problem is the expiration time (two requests in the same second), I changed this part to #GetHttpTimeString(Now()-1)# , which was one day in the past and it seems to be holding on.
Originally it is:
<cfheader name="Set-Cookie" value="CFID=#session.CFID#; Domain=test01.domain.net;Expires=Sat, 04-Jul-2043 13:24:38 GMT; Path=/"> <cfheader name="Set-Cookie" value="CFToken=#session.CFToken#; Expires=Sat, 04-Jul-2043 13:24:38 GMT; Path=/">
Sent:
Set-Cookie: CFID=7191; Domain=test01.domain.net; Expires=Sat, 04-Jul-2043 13:24:38 GMT; Path=/ Set-Cookie: CFToken=33b984d7a56f6356-0B97F3CF-3048-3344-AABF2B698F4B8B02; Domain=test01.domain.net; Expires=Sat, 04-Jul-2043 13:24:38 GMT; Path=/
That the browser receives as .test01.domain.net , which I wanted to avoid.