Ruby on rails 防止导轨中红毯宝石的注入攻击
我有一个文本区域,允许用户输入他们的汽车描述 它另存为:text,调用时,我将通过ApplicationHelper进行渲染,如下所示:Ruby on rails 防止导轨中红毯宝石的注入攻击,ruby-on-rails,redcarpet,Ruby On Rails,Redcarpet,我有一个文本区域,允许用户输入他们的汽车描述 它另存为:text,调用时,我将通过ApplicationHelper进行渲染,如下所示: module ApplicationHelper def markdown(text) renderer = Redcarpet::Render::HTML @engine = Redcarpet::Markdown.new(renderer, hard_wrap: true,
module ApplicationHelper
def markdown(text)
renderer = Redcarpet::Render::HTML
@engine = Redcarpet::Markdown.new(renderer,
hard_wrap: true,
filter_html: true,
autolink: true,
no_intra_emphasis: true
)
@engine.render(text)
end
end
出于偏执,我试着在我的文本区输入类似的内容
Markdown.
__Nice.__
<%= @car %>
<script>
alert('damn');
</script>
降价。
__很好__
警惕(“该死”);
虽然
没有解析成ruby代码,但是脚本确实被执行了
我认为:
<%= markdown(@car.description).html_safe %>
我不知道这是不是处理红地毯的正确方法;这个机制容易受到攻击吗?我如何防止它
最好的这件事运气好吗?我被困在同一个问题上。。谢谢运气好吗?我被困在同一个问题上。。谢谢运气好吗?我被困在同一个问题上。。谢谢