呀,這應該很有趣。轉換cookies來的HttpOnly後,IE下降階段來自iFrame的
我正在一棟建於保險絲盒5.5,並使用一個iFrame的站點。 http://www.petefreitag.com/item/764.cfm:我最近與這裏所描述的網站在網站上轉換成的Application.cfc和設置我們使用cookie爲谷歌索引到的HttpOnly任務。該應用程序在CF8上運行。
我遇到的一個用戶登錄到該網站後,會話數據在登錄過程則保險絲被觸發,加載主頁包含一個「框架剋星」功能,打破後設置的問題該網站出於內部iframe用於登錄並加載主頁面。執行此操作時,IE會丟棄會話,並在加載頁面的其餘部分時發生另一個檢查,以發現會話丟失並強制重定向回到主頁。在IE中使用時,每個JavaScript重定向都會創建一個新會話。這個問題在Firefox或Chrome中不會發生。
這是框架剋星功能,觸發在body標籤一個onload:
function changeParentLocation()
{
if (top != self) {
self.location.href = <cfoutput>"#Application.rootdir#"</cfoutput>;
top.location.replace(self.location.href);
}
}
這是onSessionStart功能:
<cffunction name='onSessionStart' access='public' returntype='void' output='false'>
<cfheader name="P3P" value="CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'" />
<cfheader name="Set-Cookie" value="CFTOKEN=#session.CFTOKEN#;path=.my.sites.subdomain/;HTTPOnly">
<cfheader name="Set-Cookie" value="CFID=#session.CFID#;path=.my.sites.subdomain/;HTTPOnly">
<!---<cfcookie name="CFTOKEN" domain=".my.sites.subdomain" value="#Session.CFTOKEN#" />
<cfcookie name="CFID" domain=".my.sites.subdomain" value="#Session.CFID#" />--->
</cffunction>
如果我註釋掉中HTTPOnly cookies和使用代替當前註釋掉的CFCookie代碼,IE不會嘗試創建多個會話。
請將您初始化Application.cfc的設置(例如this.name,this.applicationtimeout等)發佈 - 您正在操作的所有設置。 –
我想通了。見下文。 –
;)我認爲這是關於客戶管理的事情。很高興你想出來了。 –