Session coldfusion会话在由其他域启动时被丢弃
我在一个域上有一个登录页面,在另一个域上有一个应用程序 当我使用来自单独域的登录时,会话变量不会存储在第二个域中,即使是创建它们的域 要明确的是,我不是在域之间共享会话 登录域在应用程序域上运行脚本,应用程序在其中创建会话变量。 在应用程序域内调用重定向时,不会传输此变量 如果我从同一个域调用脚本,会话将按预期存储。有趣的是,直到今天这一切都很顺利。某些cf设置可能已更改 我注意到正在传递CFID和CFTOKEN,是否可能使用引用网站上的CFID和CFTOKEN编写会话Session coldfusion会话在由其他域启动时被丢弃,session,coldfusion,dns,session-cookies,Session,Coldfusion,Dns,Session Cookies,我在一个域上有一个登录页面,在另一个域上有一个应用程序 当我使用来自单独域的登录时,会话变量不会存储在第二个域中,即使是创建它们的域 要明确的是,我不是在域之间共享会话 登录域在应用程序域上运行脚本,应用程序在其中创建会话变量。 在应用程序域内调用重定向时,不会传输此变量 如果我从同一个域调用脚本,会话将按预期存储。有趣的是,直到今天这一切都很顺利。某些cf设置可能已更改 我注意到正在传递CFID和CFTOKEN,是否可能使用引用网站上的CFID和CFTOKEN编写会话 如果是这样,我如何防止这
如果是这样,我如何防止这种情况发生?您可以通过在Application.cfc中设置
this.setclientcookies=false来覆盖默认会话cookie行为,并在Application.cfc中发布您的cfcookie。cfc的onSessionStart()
e、 g
在进行此操作时,最好将httpOnly
属性也设置为true。您可以通过在Application.cfc中设置this.setclientcookies=false
来覆盖默认会话cookie行为,并在Application.cfc中发布cfcookie's.cfc的onSessionStart()
e、 g
当您执行此操作时,最好将httpOnly
属性也设置为true。我收到一个错误例程不能声明多次。
当我包含cffunction位时。而且,
对我不起作用:(你是否在App.cfc文件中的其他地方声明了onSessionStart
,这就是错误听起来的样子。我使用的是CFwheels,所以确实存在:)。我将它添加到正确的位置,但它仍然不起作用。@Daniel请确保您没有在cflocation上传递CFID/CFTOKEN。您能详细说明一下吗?为什么不呢?我得到一个错误例程不能声明多次。
当我包含cffunction位时。而且,
对我不起作用:(你是否在App.cfc文件中的其他地方声明了onSessionStart
,这就是错误听起来的样子。我使用的是CFwheels,所以确实存在:)。我将它添加到正确的位置,但它仍然不起作用。@Daniel请确保您没有在cflocation上传递CFID/CFTOKEN。您能详细说明一下吗?为什么不呢?
<cfcomponent>
<cfset this.sessionmanagement = true>
<cfset this.setclientcookies = false>
<cffunction name="onSessionStart">
<cfcookie name="CFID" value="#session.cfid#" domain=".subdomain.domain.com">
<cfcookie name="CFTOKEN" value="#session.cftoken#" domain=".subdomain.domain.com">
</cffunction>
<cfcomponent>