隐藏的输入字段是否必须在ColdFusion中进行转义?

时间:2012-06-19 15:58:03

标签: input coldfusion hidden html-escape-characters

使用ColdFusion 8我通常会逃避所有表单输入:

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

那么隐藏的输入怎么样?这些也应该逃脱吗?我没有尝试过,但我可以很好地在Firebug中输入隐藏的输入,输入任何内容并尝试提交,是吗?

1 个答案:

答案 0 :(得分: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"/>

这意味着你隐藏的var会以“Bob”的形式出现......剩下的就会丢失。如果字符串的任何部分包含HTML或斜杠或尖括号,情况可能会变得更糟。