使用 Coldfusion 保护以 html 输出的用户输入

发布于 2024-12-21 03:34:59 字数 434 浏览 3 评论 0原文

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

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

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

我还将 URL.q 保存到数据库(在本例中我使用 ORM):

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

但现在我感兴趣的是如何将用户数据安全地输出到浏览器。

When an user searchs a page I add ?q=[searchterm] to my URL and output something like this:

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

A while ago I read that htmleditformat() is not enough and XSS can still be executed
(... for example if somebody sends a link to a victim like http://example.com/?q=[evilXSS]).

I also save URL.q to a database (I'm using ORM in this case):

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

but for now I'm intereseted how to securely output the userdata to the browser.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独自唱情﹋歌 2024-12-28 03:34:59

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

如果您想要更多控制,可以使用 Java StringEscapeUtils< /a> 直接。

You can also use xmlFormat(), described here. It escapes more characters than htmlEditFormat() such as Single-quotation marks and high ASCII characters in the range 159-255.

If you want more control you can use Javas StringEscapeUtils directly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文