使用ColdFusion 8我通常逃避我所有的表單輸入,像這樣:隱藏的輸入字段必須在ColdFusion中轉義嗎?
<input id="foo" value="#XMLFormat(trim(form_name.param_name))#" />
因此,如何隱藏的投入?這些也應該逃脫嗎?我還沒有嘗試過,但我可以很好地在Firebug中輸入隱藏的輸入,輸入任何內容並嘗試提交,我可以嗎?
使用ColdFusion 8我通常逃避我所有的表單輸入,像這樣:隱藏的輸入字段必須在ColdFusion中轉義嗎?
<input id="foo" value="#XMLFormat(trim(form_name.param_name))#" />
因此,如何隱藏的投入?這些也應該逃脫嗎?我還沒有嘗試過,但我可以很好地在Firebug中輸入隱藏的輸入,輸入任何內容並嘗試提交,我可以嗎?
在這種情況下轉義的目標是保持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或斜槓或尖括號,情況可能會變得更糟。
那麼,如果我的隱藏輸入的值爲「否」,那麼逃離設置值的語法是什麼? – frequent
你可以用urlencodedformat()或htmleeditformat()(或xmlformat()也可以工作) - 但它沒有影響 - 沒有什麼會被「逃脫」,因爲「no」沒有html或編輯問題。 –
你基本上給你自己的答案與你的Firebug例子:) :) – Veger
謝謝!讓它成爲答案,所以我可以檢查 – frequent
是的,即使它們是隱藏字段,字段名稱中的任何HTML元字符都可以「破壞」您的頁面。 –