当用户搜索某个页面时,我将?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) />
但是现在我很想知道如何安全地将用户数据输出到浏览器。
答案 0 :(得分:3)
您还可以使用xmlFormat()
,描述为here。它比htmlEditFormat()
转义的字符数更多,例如单引号和159-255范围内的高位ASCII字符。
如果您想要更多控制权,可以直接使用Javas StringEscapeUtils。