如何在使用html_safe时修复rails中的跨站点脚本安全警告?

时间:2016-08-23 11:07:18

标签: ruby-on-rails-4

我使用制动器在我的应用程序中生成扫描报告。它在我的报告/显示页面中以高可信度生成了许多跨站点脚本安全警告:

  

第104行附近未转义的模型属性:   Report.find(PARAMS [:ID])。备注

我在链接中看到但无法修复。请帮忙。这是显示页面中我遇到错误的一行:

<%= @report.remarks.html_safe %>

1 个答案:

答案 0 :(得分:4)

Brakeman警告任何在没有HTML转义的情况下输出潜在用户输入的情况。数据库中的值计为“潜在用户输入”。

如果您希望报告中的remarks包含您希望浏览器将解释为HTML 的HTML,那么您必须使用html_safe并且您有责任确保HTML是安全的 - 也许可以通过调用sanitizestrip_tags来实现。如果您不希望remarks包含HTML,请移除对html_safe的调用。

html_safe调用本质上告诉Rails“这个字符串是安全的,不要逃避它。”如果这是你想要的,那么你可以ignore these warnings