1

使用 ColdFusion 8,我通常会像这样转义所有表单输入:

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

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

4

1 回答 1

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 或斜线或尖括号,情况可能会变得更糟。

于 2012-06-19T16:05:41.990 回答