在Rails中清理输出HTML的最佳解决方案是什么(以避免XSS攻击)?
我有两个选择: white_list插件或来自sanitize Helper http://api.rubyonrails.com/classes/ActionView/Helpers/SanitizeHelper.html的Sanitize方法。对我来说,直到今天,white_list插件工作得更好,在过去,Sanitize是非常错误的,但作为核心的一部分,它可能还在开发中,并在一段时间内得到支持。
发布于 2008-10-26 09:24:46
我认为h helper方法在这里会起作用:
<%= h @user.profile %>这将转义尖括号,从而中和任何嵌入的JavaScript。当然,这也会消除用户可能使用的任何格式。
如果你想格式化,也许可以看看markdown。
发布于 2008-10-20 01:55:11
我推荐http://code.google.com/p/xssterminate/。
发布于 2008-10-27 08:37:24
就我个人而言,我认为在任何web应用程序中接受任何HTML条目都不是一个小决定。您可以根据需要测试白/黑名单标记,但除非您要测试正确的嵌套,否则某人可以输入一系列结束标记,例如
</td></tr></span></div>真的会弄乱你的布局。
我通常会让人们输入像Textile这样的标记,因为我宁愿把时间花在业务逻辑上,而不是HTML解析上。
当然,如果此文本条目对您的应用程序更重要(例如,它用于stackoverflow),那么您可能应该更多地关注您自己的手动滚动。
https://stackoverflow.com/questions/214850
复制相似问题