gpt4 book ai didi

ruby-on-rails - Ruby on Rails 和 XSS 预防

转载 作者:数据小太阳 更新时间:2023-10-29 06:55:20 25 4
gpt4 key购买 nike

Ruby on Rails 中防止 XSS 的做法有哪些?我在网上发现了许多旧文档,大部分时间都是关于使用h/html_escape 帮助程序转义来自用户的任何变量。

我从较新的文档中了解到,在 2.0 及更高版本中有sanitize 方法,自动清除假定的输入恶意输入。是否足够,或者您是否正在做更多的事情来保护您的应用程序?

最佳答案

h 方法仍然是转义字符串中所有 HTML 的方法。您应该在输出内容的任何地方使用此方法。

<%=h @recipe.description %>

这种行为将在 Rails 3 中发生变化。默认情况下所有输出都将被转义,您需要明确指定不对其进行转义。同时,如果您经常忘记使用此 h 方法,您可能需要查看 Safe ERB plugin .

sanitize方法是一种从内容中有选择地去除某些标签的好方法。例如,如果您希望允许用户在添加链接的同时将其输出加粗和斜体化,您可以这样做。

<%= sanitize @recipe.description, :tags => %w[b i a], :attributes => %w[href] %>

正如 Oliver 提到的,查看 Security Guide获取更多信息。

关于ruby-on-rails - Ruby on Rails 和 XSS 预防,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1266605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com