我正在从数据库填充表单变量.如果字段值中有双引号,例如3英寸3英寸,那么html源代码如下所示:
<input name="width" value="3"">
Run Code Online (Sandbox Code Playgroud)
问:如何处理包含双引号的字段?
我首先认为这是一个cfqueryparam问题,但事实证明这是一个HTML问题.
HtmlEditFormat显示值时使用.
像这样:
<input name="width" value="#HtmlEditFormat(Form.Width)#" />
Run Code Online (Sandbox Code Playgroud)
还有:
XmlFormat用于XML输出;
JsStringFormat用于JavaScript输出;
UrlEncodedFormat用于URL内容.
对于更完整/更重要的东西,您可以考虑OWASP的ESAPI - 可以在CF中使用的Java安全API,并提供以下内容:
Context Method
------- ------
HTML esapi.encodeForHTML(variable)
HTML Attribute esapi.encodeForHTMLAttribute(variable)
JavaScript esapi.encodeForJavaScript(variable)
CSS esapi.encodeForCSS(variable)
URL esapi.encodeForURL(variable)
Run Code Online (Sandbox Code Playgroud)
(来自Pete Freitag的cfunited演示幻灯片)
| 归档时间: |
|
| 查看次数: |
2572 次 |
| 最近记录: |