1

ColdFusion 8 を使用すると、通常、次のようにすべてのフォーム入力をエスケープします。

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

では、隠し入力についてはどうでしょうか。これらもエスケープする必要がありますか?試したことはありませんが、Firebug で非表示の入力を引き出して、何でも入力して送信しようとすることはできますか?

4

1 に答える 1

4

この場合のエスケープの目的は、HTML を適切な形式に保つことです。そのため、非表示の変数もエスケープ (またはエンコード) する必要があります。通常、これには urlencodedformat() を使用します。非表示の var に配置していた値が次のような変数であるとどうなるかを考えてみてください。

<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"/>

これは、隠し変数が「Bob」として表示されることを意味し、残りは失われます。文字列の一部に HTML、スラッシュ、または山括弧が含まれていると、状況が悪化する可能性があります。

于 2012-06-19T16:05:41.990 に答える