我正在jinja文件中构建一个JSON对象:
object_name = {
property_name: "{{ _("Some Text which might have "quotes" in it") }}"
}
然后在脚本标签中导入上述jinja2文件。
注意:_("Text")用于将其替换为翻译文本,因此小括号中的文本将被另一种语言的文本替换,因此我无法预测翻译是否会包含双引号。
有什么办法可以转义传入的引号并将它们转换为例如"之类的字符吗?
编辑
解决方案:
我们解决这个问题的方法是让Python处理所有的翻译并转义所有引号。但我们始终必须确保至少英文文本不会出现问题,无论如何,我们都可以控制......迄今为止 :)
也可以查看此文档
http://pology.nedohodnik.net/doc/user/en_US/ch-poformat.html#sec-poescapes
</script>
,即使它在引号内部,浏览器也会将其解释为结束HTML标签!在其后添加另一个<script>
,你就会得到一个漂亮的XSS攻击。除了替换</script>
之外,我没有更好的解决方案。 - johndodo