我正在填充数据库中的表单变量。 如果字段值中有双引号,例如3英寸3英寸,那么html源代码如下:
<input name="width" value="3"">
问:如何处理包含双引号的字段?
我首先认为这是一个cfqueryparam问题,但事实证明这是一个HTML问题。
答案 0 :(得分:9)
显示值时使用HtmlEditFormat
。
像这样:
<input name="width" value="#HtmlEditFormat(Form.Width)#" />
还有:
XmlFormat
用于XML输出;
JavaScript输出JsStringFormat
;
网址内容UrlEncodedFormat
。
对于更完整/更重要的内容,您可以考虑OWASP's 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)
答案 1 :(得分:2)
我认为它可能是浏览器,您需要使用“在您的HTML中对报价进行编码,然后才能正确传递。