2011-04-08 82 views
3

我們在我們的cfmx應用程序中有一堆'cflocation'標記,這會導致會話標識符被追加到url中。 我們這裏主要關心的是從URL中刪除jsessionid,cfid和cftoken以實現安全措施。 我們嘗試了以下方法,但都沒有爲我們工作: 1.'addtoken = no'與cflocation標記 2.嘗試使用cfheader而不是cflocation。ColdFusion MX - 從url中刪除jsessionid

我們如何從url中刪除會話標識符?

感謝傢伙提示的答案! 我會盡量在這裏

  • 解答疑問我試着用cfheader完全替代cflocation像這樣

<cfheader statuscode="302" statustext="Temporarily Moved"/> <cfheader name="Location" value="destinationURL"/>

  • 我們使用Cookie存儲會話信息。我能夠看到CFID,CFTOKEN,JSESSIONID cookie在用戶機器上成功創建

  • Mitrah - 如果我將'setclientcookie'值設置爲false,是不是默認爲URL?或者我沒有正確閱讀這篇文章?

  • 我是否需要調整「cfapplication」標籤以某種方式使這項工作

+0

當你說你正在使用cfheader時,你的意思是你正在編寫自己的自定義重定向,並且根本不使用cflocation? – 2011-04-08 16:36:04

+0

我以爲我有這個相同的問題,但你的兩個嘗試解決方案工作。你可能在別的地方有一個更有趣的錯誤。 「使用客戶端變量存儲會話」的 – jtpereyda 2011-04-13 00:07:39

回答

4

這聽起來像你不使用cookies存儲您的會話,但可能正在使用的客戶端變量。如果您使用的是客戶端變量,則無論如何,CF都會自動將會話令牌放入URL中。 This doc解釋了原因。

+0

似乎沒有任何意義。你能澄清一下嗎? – 2011-04-08 16:36:55

+0

當然 - 當計算機發送另一個請求時,要跟蹤CF服務器上的會話,CF必須有一種方法來知道你是誰。通常,開發人員將其設置爲將會話令牌存儲在瀏覽器中的cookie中。但是您也可以選擇每次發送會話變量。 如果您使用客戶端變量,那麼每個請求都必須具有會話令牌,以便CF服務器知道哪些會話是您的。 – 2011-04-08 18:01:30

+0

@Ben:對不起,我很困惑。我編輯了我的原始評論以刪除導致混淆的短語。 – 2011-04-08 18:06:45

-1

嘗試在應用程序標記中設置setclientcookie =「false」。