【发布时间】:2015-09-03 20:34:15
【问题描述】:
我在 Symfony 中使用 TinyMCE。一切正常,我将用户输入保存在数据库中,但我想让用户的 javascript 在显示他们的消息时不在前端运行。我试过了
{{ message.content|raw }}
但问题是它运行的是 javascript 代码。
然后我尝试了
{% autoescape 'js' %}
{{ message.content }}
{% endautoescape %}
但它将javascript打印为\x3C\x2Fp\x3E之类的奇怪字符。
如何将 javascript 代码打印为纯文本?或者如何显示格式正确的文本而不运行 javascript 部分?
例如,
<b>test</b> <script>alert()</script>
要显示类似于
测试 alert()
【问题讨论】:
-
我有一个类似的问题,不过,我决定完全删除
-
奇怪的是以前没有人想到这一点。 XSS 攻击是最容易做到的。谢谢,我去看看。
标签: javascript symfony escaping tinymce twig