首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >清理Rails中的输出

清理Rails中的输出
EN

Stack Overflow用户
提问于 2008-10-18 10:15:23
回答 3查看 2.7K关注 0票数 3

在Rails中清理输出HTML的最佳解决方案是什么(以避免XSS攻击)?

我有两个选择: white_list插件或来自sanitize Helper http://api.rubyonrails.com/classes/ActionView/Helpers/SanitizeHelper.html的Sanitize方法。对我来说,直到今天,white_list插件工作得更好,在过去,Sanitize是非常错误的,但作为核心的一部分,它可能还在开发中,并在一段时间内得到支持。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-26 09:24:46

我认为h helper方法在这里会起作用:

代码语言:javascript
运行
复制
<%= h @user.profile %>

这将转义尖括号,从而中和任何嵌入的JavaScript。当然,这也会消除用户可能使用的任何格式。

如果你想格式化,也许可以看看markdown。

票数 1
EN

Stack Overflow用户

发布于 2008-10-20 01:55:11

我推荐http://code.google.com/p/xssterminate/

票数 3
EN

Stack Overflow用户

发布于 2008-10-27 08:37:24

就我个人而言,我认为在任何web应用程序中接受任何HTML条目都不是一个小决定。您可以根据需要测试白/黑名单标记,但除非您要测试正确的嵌套,否则某人可以输入一系列结束标记,例如

代码语言:javascript
运行
复制
</td></tr></span></div>

真的会弄乱你的布局。

我通常会让人们输入像Textile这样的标记,因为我宁愿把时间花在业务逻辑上,而不是HTML解析上。

当然,如果此文本条目对您的应用程序更重要(例如,它用于stackoverflow),那么您可能应该更多地关注您自己的手动滚动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/214850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档