我正在从Coldfusion 9过渡到Coldfusion 10服务器。我注意到一个问题,当我在Coldfusion中读取时,我的登录cookie(从.NET生成)正在丢失数据。 IE,一个应该读取的cookie:
EMAIL=user@hotmail.com& ID = 9994171& CONTENT_SECURITY = MBR CO CFO PFS MC CL RE STF PA SP SC HCC& FIRST_NAME = Jack& LAST_NAME = Smith& FULL_NAME = Jack Smith& CHAPTER = 047& TITLE_SEGMENT = Mid -Level / Execu& TITLE_SEGMENT_DESC =其他& PAID_THRU = 5/31/2014 12:00:00 AM& MEMBER_TYPE = STF& MEMBER_STATUS = A& IS_MEMBER = False& ELIGIBLETOJOIN = False& IS_STAFF = Yes
仅在CF10中读取:
似乎任何特殊字符都会导致这种情况,因为我在空格上看到它,=等等。有没有人有这个问题或对此有什么输入?由于这个原因,我不想重写我的安全性,但我很难理解这个转换。
答案 0 :(得分:1)
使用GetHTTPRequestData()方法。
_cookie = GetHttpRequestData().headers.cookie;
答案 1 :(得分:0)
刚刚想出同样的问题。我们正在处理具有固定长度的cookie值。由于某种原因,CF10没有显示单个cookie值,因此我们抓取了所有cookie的字符串,然后搜索cookie值开始的位置并提取值。 (感谢Sanjeev让我开始朝着正确的方向前进)
<cfset allcookies = GetHttpRequestData().headers.cookie>
<!--- Finds the string where your cookie starts --->
<cfset yourCookie = Find("sampleSting", allcookies) >
<!--- Grabs a six digit number after the seven digit cookie string. --->
<cfset yourVariable = MID(allcookies,(sampleString+7),6)>