gpt4 book ai didi

ruby-on-rails - 使用 gsub 插入链接时如何避免 html_safe?

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

一个简化的例子是这样的:

def expand_links(message)
message = strip_tags(message)
message = message.gsub('[register]') { link_to('register', new_user_path) }
message = message.gsub('[login]') { link_to('login', new_sessions_path) }
message.html_safe
end

我正在使用 strip_tags 但要确保没有 XSS 的机会。

那么在没有 strip_tagshtml_safe 的情况下,正确的方法是什么?

最佳答案

这是我从@iceman 的 suggestion 中所做的:

  def expand_links(message)
message = strip_tags(message)
message = message.gsub('[register]') { link_to('register', new_user_path) }
message = message.gsub('[login]') { link_to('login', new_sessions_path) }
sanitize(message, tags: ['a'], attributes: ['href'])
end

(BTW sanitize 不适用于符号)

https://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html

关于ruby-on-rails - 使用 gsub 插入链接时如何避免 html_safe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55794182/

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