4

Coldfusion 9 サーバーから Coldfusion 10 サーバーに移行しています。ログイン Cookie (.NET から生成) を Coldfusion で読み取ると、データが失われるという問題に気付きました。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=中級/Execu&TITLE_SEGMENT_DESC=その他&PAID_THRU=5/31/2002:002:1 AM&MEMBER_TYPE=STF&MEMBER_STATUS=A&IS_MEMBER=False&ELIGIBLETOJOIN=False&IS_STAFF=はい

次のようにCF10でのみ読み取っています。

Eメール

スペース、= などで見られるように、特殊文字がこれを引き起こしているようです。誰かがこの問題を抱えているか、この原因について何らかの意見を持っていますか? これによりセキュリティを書き直す必要はありませんが、このスイッチを理解するのに苦労しています。

4

2 に答える 2

1

GetHTTPRequestData() メソッドを使用します。

_cookie = GetHttpRequestData().headers.cookie;
于 2013-10-28T03:13:52.150 に答える
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)>
于 2014-05-16T17:21:11.773 に答える