如何忽略 blade Laravel 上的 iframe
how to ignore iframe on blade Laravel
#提问
帮助我解决我的问题,当我用 Laravel
建立网站时
我正在用这样的语法渲染我的 post :
<div>
<p>{!! $post->content !!}</p>
</div>
但是我有问题,当我在 post 中插入 i frame
时,因为 html 已被 {!! !!}
移除。
我必须尝试使用 {{ $post->content }}
,但所有内容都使用 HTML
呈现
这个问题有什么解决办法吗? ?
非常感谢
使用 {!!
您可以“按原样”粘贴内容,换句话说,您容易受到各种问题的影响,例如允许 <script>
标签被放置到您的模板中。
{{
语法将转义任何 HTML 因此你看到的是实际的 html 字符而不实际解析它(即做 {{ '<b>bold</b>' }}
不会导致粗体字体但在文本 <b>bold</b>
).
现在你的问题是:有一些麻烦的方法可以自己过滤掉任何 html 标签并将 <iframe>
留在那儿(类似于 {!! only_iframe($content) !!}
),但是它非常困难,可能不会产生安全的解决方案。
你自己的回答表明你使用了 {!!html_entity_decode($post->content)!!}
只是意味着你的 HTML 被编码为开头,这不是我可以从你的问题中推断出来的。请注意,如果您不确定是否可以控制 $post->content
.
的内容,您现在很容易受到恶意代码注入
#提问
帮助我解决我的问题,当我用 Laravel
建立网站时我正在用这样的语法渲染我的 post :
<div>
<p>{!! $post->content !!}</p>
</div>
但是我有问题,当我在 post 中插入 i frame
时,因为 html 已被 {!! !!}
移除。
我必须尝试使用 {{ $post->content }}
,但所有内容都使用 HTML
这个问题有什么解决办法吗? ?
非常感谢
使用 {!!
您可以“按原样”粘贴内容,换句话说,您容易受到各种问题的影响,例如允许 <script>
标签被放置到您的模板中。
{{
语法将转义任何 HTML 因此你看到的是实际的 html 字符而不实际解析它(即做 {{ '<b>bold</b>' }}
不会导致粗体字体但在文本 <b>bold</b>
).
现在你的问题是:有一些麻烦的方法可以自己过滤掉任何 html 标签并将 <iframe>
留在那儿(类似于 {!! only_iframe($content) !!}
),但是它非常困难,可能不会产生安全的解决方案。
你自己的回答表明你使用了 {!!html_entity_decode($post->content)!!}
只是意味着你的 HTML 被编码为开头,这不是我可以从你的问题中推断出来的。请注意,如果您不确定是否可以控制 $post->content
.