2012-06-19 49 views
1

使用ColdFusion 8我通常逃避我所有的表單輸入,像這樣:隱藏的輸入字段必須在ColdFusion中轉義嗎?

<input id="foo" value="#XMLFormat(trim(form_name.param_name))#" /> 

因此,如何隱藏的投入?這些也應該逃脫嗎?我還沒有嘗試過,但我可以很好地在Firebug中輸入隱藏的輸入,輸入任何內容並嘗試提交,我可以嗎?

+2

你基本上給你自己的答案與你的Firebug例子:) :) – Veger

+0

謝謝!讓它成爲答案,所以我可以檢查 – frequent

+0

是的,即使它們是隱藏字段,字段名稱中的任何HTML元字符都可以「破壞」您的頁面。 –

回答

4

在這種情況下轉義的目標是保持HTML格式良好 - 隱藏的變量也需要被轉義(或編碼)。我通常爲此使用urlencodedformat()。試想,如果你在隱藏變種被放置值分別爲這樣的變量會發生什麼:

<cfset form.fullname= 'Bob "the tiger" Johnson'/> 

<input type="hidden" name="fullname" value="#form.fullname#"/> 

輸出實際上是這樣的:

<input type="hidden" name="fullname" value="Bob "the Tiger" Johnson"/> 

這意味着你的隱藏變種會來通過「鮑勃」...其餘的將會丟失。如果字符串的任何部分包含HTML或斜槓或尖括號,情況可能會變得更糟。

+0

那麼,如果我的隱藏輸入的值爲「否」,那麼逃離設置值的語法是什麼? – frequent

+2

你可以用urlencodedformat()或htmleeditformat()(或xmlformat()也可以工作) - 但它沒有影響 - 沒有什麼會被「逃脫」,因爲「no」沒有html或編輯問題。 –