用coldfusion保护html输出的用户输入

时间:2011-12-11 17:49:29

标签: html coldfusion user-input xss

当用户搜索某个页面时,我将?q = [searchterm]添加到我的网址并输出如下内容:

Your search result for <CFOUTPUT>#htmleditformat(URL.q)#</CFOUTPUT>:

前段时间我读到htmleditformat()是不够的,XSS仍然可以执行 (...例如,如果有人发送链接到受害者,如http://example.com/?q= [evilXSS])。

我还将URL.q保存到数据库(在这种情况下我使用的是ORM):

<CFSET myobject.setKeyword(URL.q) />

但是现在我很想知道如何安全地将用户数据输出到浏览器。

1 个答案:

答案 0 :(得分:3)

您还可以使用xmlFormat(),描述为here。它比htmlEditFormat()转义的字符数更多,例如单引号和159-255范围内的高位ASCII字符。

如果您想要更多控制权,可以直接使用Javas StringEscapeUtils